我应该把这个JSON解析成哪个对象

本文关键字:对象 JSON 我应该 | 更新日期: 2023-09-27 18:07:46

我使用的是ASP。NET c#,并安装了JSON.net包。我有一些JSON:

{
    "ROWSET": {
        "ROW": {
            "A_ONLINE_PO_COUNT": 0,
            "A_OFFLINE_PO_COUNT": 0,
            "A_NEW_MESSAGE_COUNT": 0,
            "A_PASSWORD_EXPIRE_DAYS": 9,
            "PO_REPORTS": {
                "PO_REPORTS_ROW": {
                    "PO_REPORT_PARAMETER_ID": 1575,
                    "DESCRIPTION": "TESTING SAVE"
                }
            },
            "RECV_REPORTS": "'n  ",
            "BUDGET_REPORTS": "'n  ",
            "VARIANCE_REPORTS": "'n  "
        }
    }
}

,想知道我可以解析成什么对象?如果它是JavaScript,那么很容易将其插入var result并通过result.ROWSET.ROW.A_ONLINE_PO_COUNT访问(例如)在线订单计数。

在c#中是否有类似的方法来做到这一点?我不知道该反序列化成哪个对象

我应该把这个JSON解析成哪个对象

您可以使用此站点生成您的类

public class POREPORTSROW
{
    public int PO_REPORT_PARAMETER_ID { get; set; }
    public string DESCRIPTION { get; set; }
}
public class POREPORTS
{
    public POREPORTSROW PO_REPORTS_ROW { get; set; }
}
public class ROW
{
    public int A_ONLINE_PO_COUNT { get; set; }
    public int A_OFFLINE_PO_COUNT { get; set; }
    public int A_NEW_MESSAGE_COUNT { get; set; }
    public int A_PASSWORD_EXPIRE_DAYS { get; set; }
    public POREPORTS PO_REPORTS { get; set; }
    public string RECV_REPORTS { get; set; }
    public string BUDGET_REPORTS { get; set; }
    public string VARIANCE_REPORTS { get; set; }
}
public class ROWSET
{
    public ROW ROW { get; set; }
}
public class RootObject
{
    public ROWSET ROWSET { get; set; }
}

你也可以反序列化到dynamic并像在Javascript中那样使用

dynamic obj = JsonConvert.DeserializeObject(json);
Console.WriteLine(obj.ROWSET.ROW.A_ONLINE_PO_COUNT);