2012-02-02 24 views
1
私は例えば選択されたフィールドをプリントアウトしたい、それが全体のJSONオブジェクトを出力しますが、現時点では私は、それのためのクラスを作成することなく、私のJSONオブジェクトから選択したフィールドをプリントアウトするにはどうすればよい

Console.WriteLine(response.venues.name)のようなもの。印刷選択値

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Newtonsoft.Json; 
using Newtonsoft.Json.Linq; 

namespace FourSquareTest 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
     using (var webClient = new System.Net.WebClient()) 
     { 
      var json = webClient.DownloadString("https://api.foursquare.com/v2/venues/search?ll=40.7,-74&query=mcdonalds&client_id=XXXXXXX&client_secret=XXXXXXXX&v=20120101"); 
      // Now parse with JSON.Net 

      JObject parsed = JObject.Parse(json); 
      foreach (var pair in parsed) 
      { 
       Console.WriteLine("{0}: {1}", pair.Key, pair.Value); 

      } 

     } 


    } 
} 
} 

答えて

1

JObject parsed = JObject.Parse(json); 
JToken response = parsed["response"]; 
JArray venues = (JArray)response["venues"]; 
JValue names = (JValue)venues[1]["name"]; 

を試してみてくださいしかし、それは単にドキュメントに基づいているので、私は、テストするためのライブラリを持っていません。

+0

oops「Newtonsoft.Json.Linq.JObjectを使用して;」を追加するのを忘れていました。今度はエラーが発生します。識別子が必要です – Dorf

+0

'Newtonsoft.Json.Linq.JObject'に 'Items'の定義がなく、 'Newtonsoft.Json.Linq.JObject'タイプの最初の引数を受け入れる拡張メソッド 'Items'がありません – Dorf

+0

申し訳ありませんが、項目ではなく、修正されました。私はちょうど私がまだ上に同じエラーを取得しますが「アイテム」の代わりに「アイテム」 – Corylulu

関連する問題