我解析了这个单一的 Json:
{
"text": "Sample Text",
"id": 123456789,
"user": {
"name": "ExampleUser",
"id": 123,
"screen_name": "ExampleUser"
},
"in_reply_to_screen_name": null,
}
到我的 C# 类 RootObject :
public class User
{
public string name { get; set; }
public int id { get; set; }
public string screen_name { get; set; }
}
public class RootObject
{
public string text { get; set; }
public long id { get; set; }
public User user { get; set; }
public object in_reply_to_screen_name { get; set; }
}
像这样:
RootObject h = JsonConvert.DeserializeObject<RootObject>(string);
所有这些都运行良好,但现在我想解析一个包含所有先例 json 对象的数组。
例如这个 Json 数组:
[
{
"text": "Sample Text",
"id": 123456789,
"user": {
"name": "ExampleUser",
"id": 123,
"screen_name": "ExampleUser"
},
"in_reply_to_screen_name": null,
},
{
"text": "Another Sample Text",
"id": 101112131415,
"user": {
"name": "ExampleUser2",
"id": 124,
"screen_name": "ExampleUser2"
},
"in_reply_to_screen_name": null,
}
]
我创建另一个类:
public class ListRoot {
public List<RootObject> status { get; set; }
}
然后使用相同的方法:
ListRoot h = JsonConvert.DeserializeObject<ListRootObject>(string);
但它不起作用。您知道如何将此 Json 数组解析为 C# 类吗?
最佳答案
如果您简单地将其反序列化为 List<RootObject>
,您所拥有的 JSON 将有效。 :
var h = JsonConvert.DeserializeObject<List<RootObject>>(string);
或者一个数组:
var h = JsonConvert.DeserializeObject<RootObject[]>(string);
如果你想反序列化一个ListRoot
,JSON 需要如下所示:
{
"status": [
{
"text": "Sample Text",
...
},
{
"text": "Another Sample Text",
...
}
]
}
关于c# - 将 Json 数组解析为 C# 中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446048/