2013-11-25 23 views
1

您好,我正在嘗試將Json響應解析到類中。因此,這裏的響應看起來如何?如何解析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); 

回答

3

而不是創造Order類,嘗試直接反序列化到OrderRow[]數組:

DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(OrderRow[])); 
OrderRow[] jsonOrderRows = (OrderRow[])serializer.ReadObject(mStream);