c# - 将此 Json 转换成 C# 中的正确类结构是什么?

标签 c# json rest deserialization

我有以下来自 Rest 服务的 Json,我正在尝试使用此代码将其反序列化为 C# 对象:

 var _deserializer = new JsonDeserializer();
 var results = _deserializer.Deserialize<Report>(restResponse);

反序列化方法不断返回 null,这告诉我我的 C# 对象的结构不正确。

下面是 Json 和我对 C# 定义的最新尝试。

{
    "Report": [
        {
            "ID": "0000014",
            "Age": "45",
            "Details": [
                {
                    "Status": "Approved",
                    "Name": "Joe"
                },
                {
                    "Status": "Approved",
                    "Name": "Bill"
                },
                {
                    "Status": "Submitted",
                    "Name": "Scott"
                }
            ]
        },
        {
            "ID": "10190476",
            "Age": "40",
            "Details": [
                {
                    "Status": "Approved",
                    "Name": "Scott"
                }
            ]
        },
        {
            "ID": "10217480",
            "Age": "40",
            "Details": [
                {
                    "Status": "Approved",
                    "Name": "Scott"
                }
            ]
        }
    ]
}

这是我的 C# 对象:

public class Report
{
    public List<WorkItem> Item= new List<WorkItem>(); 
}

public class WorkItem
{
    public string ID { get; set; }
    public int Age { get; set; }

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

public class Details
{
    public string Status { get; set; }
    public string Name { get; set; }
}

有人可以建议我的 C# 对象定义有什么问题才能正确反序列化此 json 吗?

最佳答案

我建议使用 Json2Csharp.com生成类。

public class Detail
{
    public string Status { get; set; }
    public string Name { get; set; }
}

public class Report
{
    public string ID { get; set; }
    public string Age { get; set; }
    public List<Detail> Details { get; set; }
}

public class RootObject
{
    public List<Report> Report { get; set; }
}

关于c# - 将此 Json 转换成 C# 中的正确类结构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32514738/

相关文章:

c# - 如何处理不允许在c#中的接口(interface)中定义类型

javascript - 使用 jQuery 操作 json 数据

javascript - JSON 字符串转 JS 数组

rest - 如何从 chrome postman 运行 hyperledger Fabric REST api

c# - 使用 Visual Studio 将目录绑定(bind)到 C# 中的 TreeView

c# - MVVM 绑定(bind)到属性的奇怪行为

c# - 我可以在 azure 函数应用程序中包含图像等资源吗?

python - 无法从 JSON 反序列化 PyMongo ObjectId

wcf - 如果WCF在MVC应用程序中,它是否应该使用 Controller 访问数据库以保留 'DRY'

java - 错误获取方法rest json