2016-07-17 12 views
0

Ich benutze JSON.NET und versuche, JSON-Daten zu DataGridView zu füllen, das von iTunes mit bestimmten Attributen heruntergeladen wurde. Aber ich kann keine Attributwerte von {} bekommen. Wie bekomme ich es? Auch wenn es die Zeichenfolge deserialisiert, nur 2 Token zeigen ....JSON-spezifischen Attributwert abrufen C#

Die Daten JSON:

{ 
    "resultCount": 50, 
    "results": [ 
    { 
     "wrapperType": "collection", 
     "collectionType": "Album", 
     "artistId": 3544403, 
     "collectionId": 181324398, 
     "amgArtistId": 722799, 
     "artistName": "V", 
     "collectionName": "The Revelation Is Now Televised", 
     "collectionCensoredName": "The Revelation Is Now Televised", 
     "artistViewUrl": "https://itunes.apple.com/us/artist//id3544403?uo=4", 
     "collectionViewUrl": "https://itunes.apple.com/us/album/revelation-is-now-televised/id181324398?uo=4", 
     "artworkUrl60": "http://is4.mzstatic.com/image/thumb/Music/v4/b3/b8/35/b3b835ba-7ca8-3bba-49b2-efab0266e75e/source/60x60bb.jpg", 
     "artworkUrl100": "http://is4.mzstatic.com/image/thumb/Music/v4/b3/b8/35/b3b835ba-7ca8-3bba-49b2-efab0266e75e/source/100x100bb.jpg", 
     "collectionPrice": 9.99, 
     "collectionExplicitness": "notExplicit", 
     "trackCount": 11, 
     "copyright": "℗ 2006 BBE", 
     "country": "USA", 
     "currency": "USD", 
     "releaseDate": "2006-01-31T08:00:00Z", 
     "primaryGenreName": "R&B/Soul" 
    }, 

Und der Code:

using (var webClient = new System.Net.WebClient()) 
      { 
       string result = webClient.DownloadString("https://itunes.apple.com/search?term="+key+"&entity=album&media=music"); 
       string deserResult = JsonConvert.DeserializeObject(result).ToString(); 

// und ich habe hier stecken ... Was zu verwenden? JsonReader oder ????

  } 

EDIT: MANAGED Werte erhalten ????

using (var webClient = new System.Net.WebClient()) 
      { 
       string result = webClient.DownloadString("https://itunes.apple.com/search?term="+key+"&entity=album&media=music"); 
       dynamic dynObj = JsonConvert.DeserializeObject(result); 

       var someVar1 = dynObj["results"][7]["collectionName"].ToString(); 
       dataGridView1.Rows[0].Cells[1].Value = someVar1; 
+0

Was meinst du mit "Token"? Die Abfrage gibt dasselbe über das Web-Browsing zurück. – derloopkat

+0

Token bedeutet nicht alles zwischen {} –

+0

Sie übergeben einen Filterparameter in der URL, abhängig von dem Wert von "Schlüssel" erhalten Sie mehr oder weniger Ergebnisse. Ich kann damit nichts falsch sehen. Auch ich habe überprüft json Ergebnis ist syntaktisch korrekt. – derloopkat

Antwort

0
using (var webClient = new System.Net.WebClient()) 
      { 
       string result = webClient.DownloadString("https://itunes.apple.com/search?term="+key+"&entity=album&media=music"); 
       dynamic dynObj = JsonConvert.DeserializeObject(result); 

       var someVar1 = dynObj["results"][7]["collectionName"].ToString(); 
       dataGridView1.Rows[0].Cells[1].Value = someVar1;