2013-03-31 35 views
37

Tôi đang làm việc với Json.Net để phân tích một mảng. Những gì tôi đang cố gắng làm là kéo các cặp tên/giá trị ra khỏi mảng và gán chúng cho các biến cụ thể trong khi phân tích cú pháp JObject.Phân tích cú pháp một mảng JSON bằng cách sử dụng Json.Net

Đây là những gì tôi đã có trong mảng:

[ 
    { 
    "General": "At this time we do not have any frequent support requests." 
    }, 
    { 
    "Support": "For support inquires, please see our support page." 
    } 
] 

Và đây là những gì tôi đã có trong thư mục C#:

WebRequest objRequest = HttpWebRequest.Create(dest); 
WebResponse objResponse = objRequest.GetResponse(); 
using (StreamReader reader = new StreamReader(objResponse.GetResponseStream())) 
{ 
    string json = reader.ReadToEnd(); 
    JArray a = JArray.Parse(json); 

    //Here's where I'm stumped 

} 

Tôi khá mới để JSON và Json.Net , do đó, nó có thể là một giải pháp cơ bản cho người khác. Về cơ bản, tôi chỉ cần gán các cặp tên/giá trị trong vòng lặp foreach để có thể xuất dữ liệu trên front-end. Có ai làm điều này trước khi?

Trả lời

86

Bạn có thể có được ở các giá trị dữ liệu như thế này:

string json = @" 
[ 
    { ""General"" : ""At this time we do not have any frequent support requests."" }, 
    { ""Support"" : ""For support inquires, please see our support page."" } 
]"; 

JArray a = JArray.Parse(json); 

foreach (JObject o in a.Children<JObject>()) 
{ 
    foreach (JProperty p in o.Properties()) 
    { 
     string name = p.Name; 
     string value = (string)p.Value; 
     Console.WriteLine(name + " -- " + value); 
    } 
} 

Fiddle: https://dotnetfiddle.net/uox4Vt

+3

Bạn rock ... Điều đó đã làm nó cho tôi – johngeek

+1

này giúp – JSHunjan

+0

Sir, có thể bạn cho tôi biết thế nào có thể Tôi nhận/đọc tất cả dữ liệu trong phản hồi.Tôi có nghĩa là giá trị của tôi là 'được tiết lộ' và tôi có 80 giá trị từ phản hồi của tôi dưới dạng danh sách. Làm cách nào để truy cập các giá trị đó? làm ơn giúp tôi với. – tpbafk

Các vấn đề liên quan