首页 > 解决方案 > xamarin 表单反序列化 json

问题描述

我的应用程序使用来自 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 吗?提前致谢

标签: jsonxamarin

解决方案


绝对地。您只需要使用该单一属性构建模型类Count并使用 Newtonsoft.Json 进行反序列化。

public class Dto
{
    public int Count { get; set; }
}

我为你做了一个 .NET 小提琴:


请注意,我必须修复您的示例 JSON:

  • 整个 json 缺少一个左大括号“{”和“}”
  • 结果数组没有右括号“]”
  • with 的东西.Replace("'", "\"");只是必需的,因为我必须使用'而不是"在 C# 字符串中。你不需要那个。

推荐阅读