首页 > 解决方案 > 转换 json 表对象的数组

问题描述

我有来自一个 API 的响应,它作为 json 表对象的数组提供。

我正在尝试反序列化它,但它总是返回 null。

json格式:

        {
            "tables": [
                {
                "name": "PrimaryResult",
                "columns": [
                    {
                    "name": "data1",
                    "type": "string"
                    },
                    {
                    "name": "data2",
                    "type": "string"
                    },
                    {
                    "name": "data3",
                    "type": "string"
                    }
                ],
                "rows": [
                    [
                    "9e94c46f-81b5-4186-8f25-42db447c94bb",
                    "value1",
                    "value2"
                    ],
                    [
                    "kds73j39dsd9sdsd0dd08d6d3dfdf443f44f4",
                    "value2",
                    "value3"
                    ]
                ]
                }
            ]
        }

我的课程:

        class DataConvert
        {
            public Data[] data { get; set; }
        }

        public class Data
        {
            public string data1 { get; set; }
            public string daat2 { get; set; }
            public string data3 { get; set; }
        }

        DataConvert data = JsonConvert.DeserializeObject<DataConvert>(json);

构建我的对象是否应该有所不同?

标签: c#.netjson

解决方案


public class Column
{
    public string name { get; set; }
    public string type { get; set; }
}

public class Table
{
    public string name { get; set; }
    public List<Column> columns { get; set; }
    public List<List<string>> rows { get; set; }
}

public class RootObject
{
    public List<Table> tables { get; set; }
}

为了让您的生活更轻松,只需使用http://json2csharp.com/从 json 生成 c# 类


推荐阅读