Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何解析Json中的多条记录_C#_.net_Json_Parsing - Fatal编程技术网

C# 如何解析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;

您好,我正在尝试将Json响应解析为一个类。下面是反应的样子

[{"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);