2012-05-04 2 views
0

Может ли кто-нибудь помочь решить эту проблему, независимо от того, что я пытаюсь, я не могу отобразить данные на веб-странице, я могу поставить точки останова на JObject o = JObject.Parse(ws); и посмотреть данные, но каждая попытка я пробовал результаты в другой ошибке. Я пытаюсь сделать, это получить имя области и страну.Невозможно отобразить данные из json.net

Я попытался примеры: http://james.newtonking.com/projects/json/help/ и http://forums.asp.net/t/1780822.aspx/1?How+to+traverse+in+json+ не повезло

Любая помощь будет оценена. Джордж

Мой код ниже:

string ws = @"{ ""search_api"": { ""result"": [ { ""areaName"": [ {""value"": ""London"" } ], ""country"": [ {""value"": ""United Kingdom"" } ], ""latitude"": ""51.517"", ""longitude"": ""-0.106"", ""population"": ""7421228"", ""region"": [ {""value"": ""City Of London, Greater London"" } ], ""timezone"": [ {""offset"": ""1.0"" } ], ""weatherUrl"": [ {""value"": ""http:\/\/www.worldweatheronline.com\/London-weather\/City-of-London-Greater-London\/GB.aspx"" } ] }, { ""areaName"": [ {""value"": ""London"" } ], ""country"": [ {""value"": ""Canada"" } ], ""latitude"": ""42.983"", ""longitude"": ""-81.250"", ""population"": ""346774"", ""region"": [ {""value"": ""Ontario"" } ], ""timezone"": [ {""offset"": ""-4.0"" } ], ""weatherUrl"": [ {""value"": ""http:\/\/www.worldweatheronline.com\/London-weather\/Ontario\/CA.aspx"" } ] } ] }}"; 

     JObject o = JObject.Parse(ws); 


     var weatherCity = o["areaName"][0]["value"]; 
     ViewBag.WeatherSearch = weatherCity.ToString(); 

     //var weatherCity = o["search_api"][0]["result"]["areaName"]["value"]; 
     // JArray arr = (JArray)o.SelectToken("search_api"); 
     // JObject cityTown = (JObject)arr[0].SelectToken("result").SelectToken("areaName"); 
    // var weatherCity = cityTown.SelectToken("value"); 
     // IList<string> WeatherCity = o.SelectToken("result").Select(s => (string)s).ToList(); 
     //string WeatherCity = (string)o.SelectToken("result[0].areaName[0].value"); 
     //IList<string> WeatherCities = o["result"].Select(m => (string)m.SelectToken("areaName[0].value")).ToList(); 

ответ

0

Как о чем-то вроде:

var weatherCity = o["search_api"]["result"][0]["areaName"][0]["value"]; 

o представляет корень, так что вы не можете пропустить какие-либо узлы.

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