C#JSON反序列化复杂对象

时间:2020-03-19 14:13:04

标签: c# json deserialization json-deserialization

我在反序列化json文件时遇到问题,这是json:

[
    {
        "id": "id", 
        "number": "48", 
        "date": "17-01-2020",
        "details": [
            {
                "id": "id",
                "code": "code",
                "description": "desc"
            },
            {
                "id": "id",
                "code": "code",
                "description": "desc"

            }
        ],
        "address": "add",
        "note": null 
    },
    {
        "id": "id",
        "number": "55",
        "date": "17-01-2020",
        "details": [
            {
                "id": "id",
                "code": "code",
                "description": "desc"
            },
            {
                "id": "id",
                "code": "code",
                "description": "desc"
            }
        ],
        "address": "add",
        "note": null
    }
]

这是我的代码:

 var result = httpClient.GetAsync(".....").Result;
 List<Docu> doc= new JavaScriptSerializer().Deserialize<List<Docu>>(result.Content.ReadAsStringAsync().Result);

Docu类包含ID,数字,日期,详细信息和以下内容的定义:

public List<Details> det{ get; set; }

类详细信息包含ID,代码和描述定义

我可以反序列化除复杂对象详细信息之外的所有内容,反序列化返回null,如何解决此问题?我需要填写详细信息列表

1 个答案:

答案 0 :(得分:5)

您为List<Details>属性设置的名称错误

应该是

public List<Details> details{ get; set; }

根据您显示的json