2013-09-21 6 views
0

Как я могу прочитать JSON с этого сайта (http://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json?includeTimeseries=true&includeCurrentMeasurement=true) в C# с помощью библиотеки Json.net? В этом JSon есть только массив. Я тестировал его с помощью этого кода, но он не работает.Parse JSON массив с Json.net

using (Stream stream = response.GetResponseStream()) 
{ 
    JsonReader reader = new JsonTextReader(new StreamReader(stream)); 
    dynamic info = JObject.Load(reader); 
} 

Если я отлаживаю это, тогда VS говорит, что элемент не является объектом. Я пробовал его с JArray.Load(reader);, но потом я не знаю, как получить доступ к элементам.

+0

Хотите ли вы использовать только библиотеку Json.NET или некоторые другие решения библиотеки являются приемлемыми – dbw

ответ

1

Вы правы, JArray.Load работает правильно. JArray тогда имеет простую индексацию, чтобы добраться до отдельных элементов:

using (Stream stream = response.GetResponseStream()) 
{ 
    var reader = new JsonTextReader(new StreamReader(stream)); 
    var jsonArray = JArray.Load(reader); 
    var item20 = jsonArray[19]; 
    var item20ShortName = (string)item20["shortname"]; 
} 
+0

спасибо. как я могу получить доступ к полям в item20? – user2025830

+0

@ user2025830 Скорректированный ответ. – meilke

+0

спасибо за ответ :) – user2025830

Смежные вопросы