首页 > 解决方案 > 将复杂 JSON 转换为 C# 模型

问题描述

我正在尝试解决我收到的一些复杂 JSON 以将其转换为 C# 模型,以便我可以分析和操作数据。我尝试通过使用 JSON 将 JSON 转换为 C#,但是当名称是动态的时它不能很好地工作。我想专注于数据。

Item1 和 SubItem1 等都是可变字符串,所以我不能硬编码模型来拉取它们,而文本只是其中的一个字符串。我遇到的问题是如何将 JSON 转换为可用格式来访问 Item1、SubItem1 和文本值以操作它们的数据。

我已经按照其他地方的建议查看了字典,但我没有运气。

我试过的模型

public class Data
{
        public string Status { get; set; }
        public ResultInfo ResultInfo { get; set; }
        public string Message { get; set; }
        public Dictionary<string, SubData> Data {get;set;}
}

public class SubData
{
   public Dictionary<string,List<string>> item {get;set;}
}

JSON

{
    "Status": "OK",
    "ResultInfo": {
        "Prev": "PageUPURL",
        "Next": "PageDownURL",
        "total_count": "37",
        "per_page": "3",
        "page": "1"
    },
    "Message": "Ok.",
    "Data": {
        "Item1": [
            {
                "SubItem1": [
                    "Text"
                ]
            }
        ],
        "Item2": [
            {
                "SubItem2": [
                    "Text",
                    "Text",
                    "Text"
                ]
            }
        ],
        "Item3": [
            {
                "SubItem3": [
                    "Text"
                ]
            },
            {
                "SubItem4": [
                    "Text"
                ]
            }
        ]
    }
}

我们将不胜感激地收到任何建议、建议或帮助。

标签: c#jsonjson.net

解决方案


更改以下行

public Dictionary<string, SubData> Data {get;set;}

作为

public Dictionary<string, Dictionary<string, string[]>[]> Data { get; set; }

推荐阅读