我正在使用安装了JSON.net包的ASP.NET C#。我有一些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
访问(例如)在线PO计数。
在C#中有类似的方法吗?我不知道将其反序列化为哪个对象。
答案 0 :(得分:4)
您可以使用this site生成课程
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);