[英]how to deserialize json object with arrays in it c#
我的对象看起来像那样
{"Items":[{number:8468},{}],
"count":2}
我需要以项目 1 的数量为例
我的代码就是这样,它不起作用
var content = await response.Content.ReadAsStringAsync();
var myObject = JsonConvert.DeserializeObject<ICollection<ViewModel>>(content);
这里的 JSON 代表一个对象,而不是一个集合——也就是说:外部节点是{}
,而不是[]
。 因此,创建一个反映以下内容的类型:
public class Foo {
public List<Bar> Items {get;} = new List<Bar>();
[JsonProperty("count")]
public int Count {get;set;}
}
public class Bar {
[JsonProperty("number")]
public int Number {get;set;}
}
并使用:
var myObject = JsonConvert.DeserializeObject<Foo>(content);
这里你有一个 json 对象而不是 json 数组。 所以你的逻辑失败了。 所以首先创建一个这样的模型:
public class Response {
public List<Item> Items {get;set;} = new List<Item>();
public int Count {get;set;}
}
public class Item {
public int Number {get;set;}
}
并替换:
var myObject = JsonConvert.DeserializeObject<ICollection<ViewModel>>(content);
和
var result = JsonConvert.DeserializeObject<Response>(content);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.