C# 无法反序列化json
有人能帮我弄清楚如何在C中使用json.net反序列化它吗?我已经成功解析了一个不同的json,但是它的格式不同。我试着使用object,它说它需要一个数组,然后我把它改成数组,它说它需要一个数组。。 哦,还有其他不同类型的数组C# 无法反序列化json,c#,json,C#,Json,有人能帮我弄清楚如何在C中使用json.net反序列化它吗?我已经成功解析了一个不同的json,但是它的格式不同。我试着使用object,它说它需要一个数组,然后我把它改成数组,它说它需要一个数组。。 哦,还有其他不同类型的数组 "[ { "ID": 1, "TYPE": 1, "APP_TAG": 1, "alert": "[13:13] This is a Test Message - 0.", "sound": "Default", "b
"[
{
"ID": 1,
"TYPE": 1,
"APP_TAG": 1,
"alert": "[13:13] This is a Test Message - 0.",
"sound": "Default",
"badge": 0
}
]"
因为它是一个数组/列表
public class Item
{
public int ID { get; set; }
public int TYPE { get; set; }
public int APP_TAG { get; set; }
public string alert { get; set; }
public string sound { get; set; }
public int badge { get; set; }
}
使用动态而不是对象。如果这是一个c字符串,你必须以@for多行字符串开始,并在字符串中使用双引号。我刚才用了这个作为例子,我实际上是从网络调用中获取JSon数组。每当你有JSon,我建议你的第一站是。插入JSON,它将为您提供需要反序列化的C类。然后如何获取每个对象?@user3322270 items[I]。ID,items是一个列表。绕过去就行了。
var items = JsonConvert.DeserializeObject<List<Item>>(json);
string json = @"[
{
'ID': 1,
'TYPE': 1,
'APP_TAG': 1,
'alert': '[13:13] This is a Test Message - 0.',
'sound': 'Default',
'badge': 0
}
]";
var items = Newtonsoft.Json.JsonConvert.DeserializeObject(json);