C# 如何解析Json中的多条记录
您好,我正在尝试将Json响应解析为一个类。下面是反应的样子C# 如何解析Json中的多条记录,c#,.net,json,parsing,C#,.net,Json,Parsing,您好,我正在尝试将Json响应解析为一个类。下面是反应的样子 [{"id":103,"customer_id":0},{"id":110,"customer_id":1}] 我能够解析一行代码(我删除了'['']',并将其放在一个类中)。问题是当我有多个记录时,像这样,我就有问题了。这就是我解析数据的方式 [DataContract] public class Order { public List<OrderRow> Orders { get; set;
[{"id":103,"customer_id":0},{"id":110,"customer_id":1}]
我能够解析一行代码(我删除了'['']',并将其放在一个类中)。问题是当我有多个记录时,像这样,我就有问题了。这就是我解析数据的方式
[DataContract]
public class Order
{
public List<OrderRow> Orders { get; set; }
}
[DataContract]
public class OrderRow
{
[DataMember(Name = "id")]
public int id { get; set; }
[DataMember(Name = "customer_id")]
public int customer_id { get; set; }
}
StreamReader jfile = new StreamReader(@"path\test.json");
string json = jfile.ReadToEnd();
jfile.Close();
byte[] bytes = Encoding.UTF8.GetBytes(json);
MemoryStream mStream = new MemoryStream(bytes);
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Order));
Order jsonOrder = (Order)serializer.ReadObject(mStream);
[DataContract]
公共阶级秩序
{
公共列表顺序{get;set;}
}
[数据合同]
公共类OrderRow
{
[数据成员(Name=“id”)]
公共int id{get;set;}
[DataMember(Name=“customer\u id”)]
public int customer_id{get;set;}
}
StreamReader jfile=newstreamreader(@“path\test.json”);
字符串json=jfile.ReadToEnd();
jfile.Close();
byte[]bytes=Encoding.UTF8.GetBytes(json);
MemoryStream mStream=新的MemoryStream(字节);
DataContractJsonSerializer serializer=新的DataContractJsonSerializer(typeof(Order));
Order jsonOrder=(Order)serializer.ReadObject(mStream);
不要创建订单
类,而是尝试将其直接反序列化到订单行[]
数组中:
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(OrderRow[]));
OrderRow[] jsonOrderRows = (OrderRow[])serializer.ReadObject(mStream);