我在.NET 4.0中使用JSON.NET。我收到一个json字符串,并试着把它放在课堂上。 但是一个异常发生,我无法解决它。 这是我的json字符串:
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;}
}
我的班级:
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;
}
我的反序列化代码:
{{1}}
但看起来记录为null,因为在foreach循环中发生了null异常。
答案 0 :(得分:3)
您的List<Record>
属性需要正确命名。它应该是&#34;记录&#34;:
public class RootObject
{
public List<Record> Records { get; set; }
}
这意味着您需要更改班级名称。在我的示例中,它被称为RootObject
。
或者,您可以使用JsonProperty
属性进行注释:
public class Records
{
[JsonProperty("Records")]
public List<Record> Data { get; set; }
}
答案 1 :(得分:0)
您可以使用JsonProperty更改字段的名称。有关详细信息,请参阅此答案:https://stackoverflow.com/a/15916121/686001