C# 反序列化类中的JSON字符串
我在.NET4.0中使用JSON.NET。我收到一个json字符串并尝试将其放入类中。 但是发生了一个异常,我无法解决它。 这是我的json字符串:C# 反序列化类中的JSON字符串,c#,json,C#,Json,我在.NET4.0中使用JSON.NET。我收到一个json字符串并尝试将其放入类中。 但是发生了一个异常,我无法解决它。 这是我的json字符串: { "Records": [ { "TransID": "902473653", "Date": "6/12/2015 10:47:00 AM", "ProductID": "90", "ItemDes": "test", "Amount": "20000", "B
{
"Records": [
{
"TransID": "902473653",
"Date": "6/12/2015 10:47:00 AM",
"ProductID": "90",
"ItemDes": "test",
"Amount": "20000",
"BankTransactionID": "FM60aW33EavtDcYmXbz5vy/UvUAiQF",
"Banktype": "IPG_SAMAN"
},
{
"TransID": "910920749",
"Date": "6/11/2015 11:05:00 AM",
"ProductID": "91",
"ItemDes": "test",
"Amount": "20000",
"BankTransactionID": "mAdWPNY++QdcKYepuIvuC4+UdZnQAa",
"Banktype": "IPG_SAMAN"
},
{
"TransID": "81131964",
"Date": "11/24/2014 9:08:00 AM",
"ProductID": "81",
"ItemDes": "test",
"Amount": "90000",
"BankTransactionID": "123456789012",
"Banktype": "USSD_InfoTech"
}
]
}
我的班级:
class Record
{
public string TransID;
public DateTime Date;
public string ProductID;
public string ItemDes;
public string Amount;
public string BankTransactionID;
public string Banktype;
}
class Records
{
public List<Record> data {get;set;}
}
课堂记录
{
公共字符串传输;
公共日期时间日期;
公共字符串ProductID;
公共字符串项des;
公共字符串数量;
公共字符串BankTransactionID;
公共字符串银行类型;
}
课堂记录
{
公共列表数据{get;set;}
}
我的反序列化程序代码:
Records record;
record = new JavaScriptSerializer().Deserialize<Records>(result);
foreach (var item in record.data)
{
textBox1.Text = item.TransID;
textBox2.Text = item.Date.ToString();
textBox3.Text = item.ProductID;
textBox4.Text = item.Amount;
}
记录;
record=new JavaScriptSerializer()。反序列化(结果);
foreach(record.data中的var项)
{
textBox1.Text=item.TransID;
textBox2.Text=item.Date.ToString();
textBox3.Text=item.ProductID;
textBox4.Text=项目.金额;
}
但记录看起来是空的,因为在foreach循环中发生空异常。您的列表
属性需要正确命名。它应该是“记录”:
您可以使用JsonProperty更改字段的名称。有关更多详细信息,请参见此答案:为什么不使用调试器检查记录是否为空?您的Json包含名为
记录的数组,它没有任何数据元素。您的类与输入不匹配
public class RootObject
{
public List<Record> Records { get; set; }
}
public class Records
{
[JsonProperty("Records")]
public List<Record> Data { get; set; }
}