0

誰かがこの問題を解決するのを手伝ってもらえますか?私が何をしようとしても、Webページにデータを表示できず、ブレークポイントを設定してデータを表示できますJObject o = JObject.Parse(ws);が、試行するたびに異なるエラーが発生します。 areaNameとcountryを取得します。

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();
4

1 に答える 1

0

次のようなものはどうですか?

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

oルートを表すため、ノードをスキップすることはできません。

于 2012-07-30T22:08:22.630 に答える