gpt4 book ai didi

c# - 使用 RESTSharp C# 反序列化 JSON

转载 作者:行者123 更新时间:2023-11-30 19:25:22 26 4
gpt4 key购买 nike

我正在尝试在 Xamarin 应用程序中反序列化 JSON。我已经阅读了很多,但仍然有问题,所以,也许这里有人可以提供帮助:

我的 JSON 响应是这样的:

{
"Events":[
{
"id":7,
"name":"show",
"datefrom":"2012-01-01",
"timeto":"12:00:00",
"price":"3",
"imagen":"null",
"desc":"rock band playing",
"info":"Info about tickets",
"user":1,
"place":9,
"dateto":"2013-02-02",
"timeto":"12:30:00",
"Eventcategories":[]
},
{"id":2, name:...

正如我所读到的,我创建了两个类,一个用于对象(事件),另一个用于 JSON 响应(EventResponse)第二个只有一个事件列表:

public class EventResponse
{
public ObservableCollection<Event> Events { get; set; }
public EventResponse(){
}
}
}

事件类包含 JSON 返回的所有字段:

private int _id;
public int id {
get { return _id; }
set {

_id = value;
OnPropertyChanged ();
}
}

private string _nombre;
public string nombre {
get { return _nombre; }
set {
if (value.Equals (_nombre, StringComparison.Ordinal))
return;
_nombre = value;
OnPropertyChanged ();
}
}...

在此之后,我希望我的应用解析这个 JSON,但我唯一能得到的是一个包含 JSON 内容的字符串。

var client = new RestClient("myip/api/events");
var request = new RestRequest (Method.GET);
var asyncHandle = client.ExecuteAsync<EventResponse>(request, response => {
//Here I see the json result
string jsonString=response.Content;
//The same
Console.WriteLine(response.Content);
//Nothing is shown here
Console.WriteLine(response.Data.Events[0].id);
});

¿任何人都可以给我一些关于如何查看 json 结果的线索吗?我想我正在遵循适当的步骤,但几个小时后我什么也做不了。谢谢

最佳答案

您错过了反序列化 JSON 字符串的最后一步。您可以使用 Json.net 将字符串反序列化为适当的对象。你可以这样做:

var eventResponse = JsonConvert.DeserializeObject<EventResponse>(jsonString);

这是 Newtonsoft 的 Json.Net 的链接 http://www.newtonsoft.com/json

关于c# - 使用 RESTSharp C# 反序列化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29305189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com