问题描述
我的应用程序从rest api消费数据并获取json
我的应用中的代码:
var content = await httpClient.GetStringAsync("http://192.168.0.101:8000/api/list");
JSON
"count": 10,"next": "http://127.0.0.1:8000/api/list?page=2","prevIoUs": null,"results": [
{
"name": "lorem ipsum1","image": "http://127.0.0.1:8000/media/pictures/2.jpg","description": "lorem ipsum5"
},{
"name": "lorem2","image": "http://127.0.0.1:8000/media/pictures/1.jpg","description": "lorem ipsum4"
}
我想使用一个类反序列化“计数”
public class Count
{
public int count { get; set; }
}
我的问题是:我只能反序列化“ count”:10吗?预先感谢
解决方法
绝对。您只需要使用单个属性Count
来构建模型类,然后使用Newtonsoft.Json反序列化即可。
public class Dto
{
public int Count { get; set; }
}
我为您制作了一个.NET小提琴:
请注意,我必须修复您的示例JSON:
- 整个json缺少一个右括号“ {”和“}”
- 结果数组没有右括号“]”
- 仅需要带有
.Replace("'","\"");
的东西,因为我必须在C#字符串中使用'
而不是"
。您不需要那个。
如果只需要一个值,则可以将数据解析为JObject
var data = JObject.Parse(json);
Console.WriteLine(data["count"]);