<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>vb.net Deserialize echonest JSON response</title>
    <link>http://forum.geizhals.at/feed.jsp?id=858654</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(8): vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7406100.html#7406100</link>
      <description>Super! Ich glaube es jetzt verstanden zu haben!&lt;br&gt;&lt;br&gt;Ich musste nochmals schachteln weil auch Artist wieder ein Array ist:&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If (rootObject.status = "ok") Then&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For Each result As Result In rootObject.results&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For Each recording As Recording In result.recordings&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For Each Artist As Artist In recording.artists&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TextBox1.Text += Artist.name + " - " + recording.title&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&lt;br&gt;&lt;br&gt;Ich sage nochmals herzlichen Dank dazu!&lt;br&gt;&lt;br&gt;&lt;br&gt;lg&lt;br&gt;wasined&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 05 Jan 2015 13:52:01 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7406100.html#7406100</guid>
      <dc:creator>wasined</dc:creator>
      <dc:date>2015-01-05T13:52:01Z</dc:date>
    </item>
    <item>
      <title>Re(7): vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7406087.html#7406087</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Ich nehme an das du dies wieder in C#&amp;nbsp;&amp;nbsp;übersetzt gehabt&lt;br&gt;hast?&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;Ganz so schwer ist die VB.net Syntax auch nicht.&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; rootObject.results.recordings&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;Results hat kein Feld mit dem Namen recordings.&lt;br&gt;Results ist ein Array das Result Objekte beinhaltet.&lt;br&gt;&lt;br&gt;Du musst entweder durch results iterieren oder wenn du dich darauf verlassen kannst, dass es immer nur ein result gibt das erste result verwenden.&lt;br&gt;&lt;br&gt;Denkanstoß:&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
For Each result As Result In rootObject.results&#xD;
	For Each recording As Recording In result.recordings&#xD;
		Console.WriteLine(recording.title)&#xD;
	Next&#xD;
Next&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 05 Jan 2015 13:33:50 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7406087.html#7406087</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2015-01-05T13:33:50Z</dc:date>
    </item>
    <item>
      <title>Re(6): vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7406079.html#7406079</link>
      <description>Bingo - genau das wars! DANKE!&lt;br&gt;Das ist aber dann auch fies wenn das Werkzeug Fehler macht &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br&gt;&lt;br&gt;Ich nehme an das du dies wieder in C#&amp;nbsp;&amp;nbsp;übersetzt gehabt hast?&lt;br&gt;&lt;br&gt;&lt;br&gt;Wenn ich das jetzt sinngemäß aus der ersten Lösung übersetze:&lt;br&gt;&lt;br&gt; If (rootObject.status = "ok") Then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;For Each recording As Recording In rootObject.results.recordings&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(Recording.title)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br&gt;&lt;br&gt;&lt;br&gt;läßt er mich aber nicht weil er meint das schon results nicht richtig ist geschweige denn recordings.&lt;br&gt;Laut der Klasse wäre das doch ichtig oder?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Lg&lt;br&gt;wasined&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 05 Jan 2015 13:16:23 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7406079.html#7406079</guid>
      <dc:creator>wasined</dc:creator>
      <dc:date>2015-01-05T13:16:23Z</dc:date>
    </item>
    <item>
      <title>Re(5): vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7406068.html#7406068</link>
      <description>Paste Special ist offensichtlich fehlerhaft wenn man VB.net verwendet.&lt;br&gt;Properties die mehr als ein Subelement beinhalten (results, releasegroups, artists) werden nicht als array deklariert...&lt;br&gt;Die Klammern () müssen ergänzt werden.&lt;br&gt;&lt;br&gt;	Public Class Rootobject&lt;br&gt;		Public Property status As String&lt;br&gt;		Public Property results As Result()&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Result&lt;br&gt;		Public Property score As Single&lt;br&gt;		Public Property id As String&lt;br&gt;		Public Property recordings As Recording()&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Recording&lt;br&gt;		Public Property duration As Integer&lt;br&gt;		Public Property releasegroups As Releasegroup()&lt;br&gt;		Public Property title As String&lt;br&gt;		Public Property id As String&lt;br&gt;		Public Property artists As Artist()&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Releasegroup&lt;br&gt;		Public Property type As String&lt;br&gt;		Public Property id As String&lt;br&gt;		Public Property title As String&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Artist&lt;br&gt;		Public Property id As String&lt;br&gt;		Public Property name As String&lt;br&gt;	End Class&lt;br/&gt;</description>
      <pubDate>Mon, 05 Jan 2015 12:54:03 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7406068.html#7406068</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2015-01-05T12:54:03Z</dc:date>
    </item>
    <item>
      <title>Re(5): vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7406067.html#7406067</link>
      <description>Paste Special ist offensichtlich fehlerhaft wenn man VB.net verwendet.&lt;br&gt;Properties die mehr als ein Subelement beinhalten (results, releasegroups, artists) werden nicht als array deklariert...&lt;br&gt;Die Klammer () müssen ergänzt werden.&lt;br&gt;&lt;br&gt;	Public Class Rootobject&lt;br&gt;		Public Property status As String&lt;br&gt;		Public Property results As Result()&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Result&lt;br&gt;		Public Property score As Single&lt;br&gt;		Public Property id As String&lt;br&gt;		Public Property recordings As Recording()&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Recording&lt;br&gt;		Public Property duration As Integer&lt;br&gt;		Public Property releasegroups As Releasegroup()&lt;br&gt;		Public Property title As String&lt;br&gt;		Public Property id As String&lt;br&gt;		Public Property artists As Artist()&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Releasegroup&lt;br&gt;		Public Property type As String&lt;br&gt;		Public Property id As String&lt;br&gt;		Public Property title As String&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Artist&lt;br&gt;		Public Property id As String&lt;br&gt;		Public Property name As String&lt;br&gt;	End Class&lt;br/&gt;</description>
      <pubDate>Mon, 05 Jan 2015 12:54:03 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7406067.html#7406067</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2015-01-05T12:54:03Z</dc:date>
    </item>
    <item>
      <title>Re(4): vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7406056.html#7406056</link>
      <description>Mea Culpa! Big sorry!&lt;br&gt;&lt;br&gt;ich hab das falsche Response File&amp;nbsp;&amp;nbsp;verlinkt:&lt;br&gt;&lt;br&gt; &lt;a href="https://forum.geizhals.at/files/203513/json.txt" rel="noopener" target="_blank"&gt;https:/&lt;wbr/&gt;/&lt;wbr/&gt;forum.geizhals.at/&lt;wbr/&gt;files/&lt;wbr/&gt;203513/&lt;wbr/&gt;json.txt&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;br&gt;&lt;br&gt;Das ist das richtige - habe mich schon gewundert wieso die Klasse wieder gleich aussieht ...&lt;br&gt;&lt;br&gt;Schaust du nochmals bitte danke!&lt;br&gt;&lt;br&gt;&lt;br&gt;lg&lt;br&gt;wasined&lt;br/&gt;</description>
      <pubDate>Mon, 05 Jan 2015 12:41:34 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7406056.html#7406056</guid>
      <dc:creator>wasined</dc:creator>
      <dc:date>2015-01-05T12:41:34Z</dc:date>
    </item>
    <item>
      <title>Re(3): vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7406051.html#7406051</link>
      <description>Probier es damit &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;	Public Class Rootobject&lt;br&gt;		Public Property response() As Response&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Response&lt;br&gt;		Public Property status() As Status&lt;br&gt;		Public Property songs() As Song()&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Status&lt;br&gt;		Public Property version() As String&lt;br&gt;		Public Property code() As Integer&lt;br&gt;		Public Property message() As String&lt;br&gt;	End Class&lt;br&gt;&lt;br&gt;	Public Class Song&lt;br&gt;		Public Property tag() As Integer&lt;br&gt;		Public Property [error]() As String&lt;br&gt;		Public Property score() As Integer&lt;br&gt;		Public Property title() As String&lt;br&gt;		Public Property message() As String&lt;br&gt;		Public Property artist_id() As String&lt;br&gt;		Public Property artist_name() As String&lt;br&gt;		Public Property id() As String&lt;br&gt;	End Class&lt;br/&gt;</description>
      <pubDate>Mon, 05 Jan 2015 12:35:57 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7406051.html#7406051</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2015-01-05T12:35:57Z</dc:date>
    </item>
    <item>
      <title>Re(2): vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7406034.html#7406034</link>
      <description>Darf ich dich vielleicht nochmals um Hilfe bitten?&lt;br&gt;&lt;br&gt;Nachdem ich leider VIEL zu spät erfahren habe das das "identifying" von Echonest ersatzlos mit heute eingestellt wird, musste ich mich um Alternativen umsehen.&lt;br&gt;&lt;br&gt;&lt;br&gt; Das neue Service hat natürlich eine komplett andere Struktur:&lt;br&gt; &lt;a href="https://forum.geizhals.at/files/203513/response.txt" rel="noopener" target="_blank"&gt;https:/&lt;wbr/&gt;/&lt;wbr/&gt;forum.geizhals.at/&lt;wbr/&gt;files/&lt;wbr/&gt;203513/&lt;wbr/&gt;response.txt&lt;/a&gt; &lt;br&gt;&lt;br&gt;Dokumentation dazu:&lt;br&gt; &lt;a href="https://acoustid.org/webservice" rel="noopener" target="_blank"&gt;https:/&lt;wbr/&gt;/&lt;wbr/&gt;acoustid.org/&lt;wbr/&gt;webservice&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;br&gt;&lt;br&gt;&lt;br&gt;Ich habe wie du mir gelernt hast die Klassen dazu aus dem JSON erstellt:&lt;br&gt;&lt;br&gt;Public Class Rootobject&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property status As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property results() As Result&lt;br&gt;End Class&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Class Result&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property score As Single&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property id As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property recordings() As Recording&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End Class&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Class Recording&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property duration As Integer&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property releasegroups() As Releasegroup&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property title As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property id As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property artists() As Artist&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End Class&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Class Releasegroup&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property type As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property id As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property title As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End Class&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Class Artist&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property id As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Public Property name As String&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End Class&lt;br&gt;&lt;br&gt;&lt;br&gt;Und das ganze dann wieder deserialisiert:&lt;br&gt;Dim rootObject As Rootobject = New JavaScriptSerializer().Deserialize(Of Rootobject)(json)&lt;br&gt;&lt;br&gt;Leider wirft mir schon der deserializier schon eine Exception:&lt;br&gt;&lt;br&gt;Eine nicht behandelte Ausnahme des Typs "System.InvalidOperationException" ist in System.Web.Extensions.dll aufgetreten.&lt;br&gt;&lt;br&gt;Zusätzliche Informationen: Der Typ "MusicFind.Form1+Result" wird für die Deserialisierung eines Arrays nicht unterstützt.&lt;br&gt;&lt;br&gt;Was mache ich falsch?&lt;br&gt;&lt;br&gt;Ist zwar nicht Punkt der Diskussion - aber ich verstehe nicht wieso der Response überhaupt ein Array sein soll - weil im Gegensatz zu dem ersten Beispiel gibt er immer nur EIN File(Song retour).&lt;br&gt;Aber egal - "ER" will es halt so &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;lg&lt;br&gt;wasined&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Mon, 05 Jan 2015 12:12:23 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7406034.html#7406034</guid>
      <dc:creator>wasined</dc:creator>
      <dc:date>2015-01-05T12:12:23Z</dc:date>
    </item>
    <item>
      <title>Re(2): vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7402362.html#7402362</link>
      <description>DAS nenn ich mal eine dedizierte SUPER Antwort!&lt;br&gt;DANKE!&lt;br&gt;&lt;br&gt;Das mit dem C# lernen .... bring das mal jemanden bei der mit einem Sharp 1401 begonnen hat BASIC zu programmieren &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";-)"/&gt;&lt;br&gt;&lt;br&gt;Zu lange ist mein Hirn damit verpestet!&lt;br&gt;&lt;br&gt;Ich google das nun schon seit einiger Zeit - aber so deutlich wie Du es mir gerade gezeigt hast, war es nicht zu finden! Nochmals Danke!&lt;br&gt;&lt;br&gt;In diesem Sinne guten Rutsch ins neue Jahr!&lt;br&gt;&lt;br&gt;lg&lt;br&gt;wasined&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Sat, 27 Dec 2014 11:51:15 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7402362.html#7402362</guid>
      <dc:creator>wasined</dc:creator>
      <dc:date>2014-12-27T11:51:15Z</dc:date>
    </item>
    <item>
      <title>Re: vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7402284.html#7402284</link>
      <description>Zuerst brauchst du Klassen welche die JSON Objekte repräsentieren. Die musst du nicht manuell erstellen, es gibt EDIT-&gt;Paste Special-&gt;Paste as Json classes. Wenn du keine web extensions in VS hast gibt es Alternativen:&lt;br&gt;&lt;a href="http://json2csharp.com/" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;json2csharp.com/&lt;wbr/&gt;&lt;/a&gt; &lt;br&gt;&lt;a href="https://jsonclassgenerator.codeplex.com/" rel="noopener" target="_blank"&gt;https:/&lt;wbr/&gt;/&lt;wbr/&gt;jsonclassgenerator.codeplex.com/&lt;wbr/&gt;&lt;/a&gt; &lt;br&gt;Die letzten beiden Methoden sind C# spezifisch, wie rund 90% aller .net Ressourcen, weswegen du lieber gleich C# statt VB.net lernen solltest. Die einfachen JSON Klassen sollte aber jeder Konverter schaffen. Schlimmstenfalls kannst du die Klassen zu einer .dll kompilieren und dir den garantiert richtigen VB.net Code mittels ILSPY holen.&lt;br&gt;&lt;br&gt;In deinem Fall also:&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
Public Class Rootobject&#xD;
	Public Property response() As Response&#xD;
End Class&#xD;
&#xD;
Public Class Response&#xD;
	Public Property status() As Status&#xD;
	Public Property songs() As Song()&#xD;
End Class&#xD;
&#xD;
Public Class Status&#xD;
	Public Property version() As String&#xD;
	Public Property code() As Integer&#xD;
	Public Property message() As String&#xD;
End Class&#xD;
&#xD;
Public Class Song&#xD;
	Public Property tag() As Integer&#xD;
	Public Property [error]() As String&#xD;
	Public Property score() As Integer&#xD;
	Public Property title() As String&#xD;
	Public Property message() As String&#xD;
	Public Property artist_id() As String&#xD;
	Public Property artist_name() As String&#xD;
	Public Property id() As String&#xD;
End Class&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;Jetzt hast du deine Klassen.&lt;br&gt;&lt;br&gt;Nun brauchst du eine Referenz auf System.Web.Extensions und rufst dann folgendes auf.&lt;br&gt;&lt;br&gt;(json ist hier ein String)&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
Imports System.Web.Script.Serialization&#xD;
Dim rootObject As Rootobject = New JavaScriptSerializer().Deserialize(Of Rootobject)(json)&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Sat, 27 Dec 2014 07:33:20 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7402284.html#7402284</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2014-12-27T07:33:20Z</dc:date>
    </item>
    <item>
      <title>Re: vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7402285.html#7402285</link>
      <description>Zuerst brauchst du Klassen welche die JSON Objekte repräsentieren. Die musst du nicht manuell erstellen, es gibt EDIT-&gt;Paste Special-&gt;Paste as Json classes. Wenn du keine web extensions in VS hast gibt es Alternativen:&lt;br&gt;&lt;a href="http://json2csharp.com/" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;json2csharp.com/&lt;wbr/&gt;&lt;/a&gt; &lt;br&gt;&lt;a href="https://jsonclassgenerator.codeplex.com/" rel="noopener" target="_blank"&gt;https:/&lt;wbr/&gt;/&lt;wbr/&gt;jsonclassgenerator.codeplex.com/&lt;wbr/&gt;&lt;/a&gt; &lt;br&gt;Die letzten beiden Methoden sind C# spezifisch, wie rund 90% aller .net Ressourcen, weswegen du lieber gleich C# statt VB.net lernen solltest. Die einfachen JSON Klassen sollte aber jeder Konverter schaffen. Schlimmstenfalls kannst du die Klassen zu einer .dll kompilieren und dir den garantiert richtigen VB.net Code mittels ILSPY holen.&lt;br&gt;&lt;br&gt;In deinem Fall also:&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
Public Class Rootobject&#xD;
	Public Property response() As Response&#xD;
End Class&#xD;
&#xD;
Public Class Response&#xD;
	Public Property status() As Status&#xD;
	Public Property songs() As Song()&#xD;
End Class&#xD;
&#xD;
Public Class Status&#xD;
	Public Property version() As String&#xD;
	Public Property code() As Integer&#xD;
	Public Property message() As String&#xD;
End Class&#xD;
&#xD;
Public Class Song&#xD;
	Public Property tag() As Integer&#xD;
	Public Property [error]() As String&#xD;
	Public Property score() As Integer&#xD;
	Public Property title() As String&#xD;
	Public Property message() As String&#xD;
	Public Property artist_id() As String&#xD;
	Public Property artist_name() As String&#xD;
	Public Property id() As String&#xD;
End Class&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;Jetzt hast du deine Klassen.&lt;br&gt;&lt;br&gt;Nun brauchst du eine Referenz auf System.Web.Extensions und rufst dann folgendes auf.&lt;br&gt;&lt;br&gt;(json ist hier ein String)&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
Imports System.Web.Script.Serialization&#xD;
Dim rootObject As Rootobject = New JavaScriptSerializer().Deserialize(Of Rootobject)(json)&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;Das Objekt ist sehr logisch aufgebaut und du solltest es mittels Debugger sofort verstehen:&lt;br&gt;Beispiel zur Anwendung:&lt;br&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&#xD;
		If (rootObject.response.status.code = 0) Then&#xD;
			For Each song As Song In rootObject.response.songs&#xD;
				Console.WriteLine(song.title)&#xD;
			Next&#xD;
		End If&#xD;
&lt;/pre&gt;&lt;/div&gt;&lt;br/&gt;</description>
      <pubDate>Sat, 27 Dec 2014 07:33:20 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7402285.html#7402285</guid>
      <dc:creator>Diabolo2000</dc:creator>
      <dc:date>2014-12-27T07:33:20Z</dc:date>
    </item>
    <item>
      <title>vb.net Deserialize echonest JSON response</title>
      <link>http://forum.geizhals.at/t858654,7402137.html#7402137</link>
      <description>Hallo,&lt;br&gt;&lt;br&gt;ich versuche schon seit einiger Zeit einen JSON Response aus dem echonet Projekt ( &lt;a href="http://the.echonest.com/" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;the.echonest.com/&lt;wbr/&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;) in vb.net zu zerpflücken.&lt;br&gt;&lt;br&gt;Beispiel Response:&lt;br&gt;&lt;a href="https://forum.geizhals.at/files/203513/response.txt" rel="noopener" target="_blank"&gt;https:/&lt;wbr/&gt;/&lt;wbr/&gt;forum.geizhals.at/&lt;wbr/&gt;files/&lt;wbr/&gt;203513/&lt;wbr/&gt;response.txt&lt;/a&gt; &lt;br&gt;&lt;br&gt;Längere google Sessions habe ich schon hinter mir - jedoch ohne Erfolg!&lt;br&gt;Bitte keine C# Codes da ich die Erfahrung gemacht habe, das die Konverter nicht immer zum Ziel führen.&lt;br&gt;&lt;br&gt;Ziel wäre es den Response via Foreach zu deserialisieren und am besten in ein für mich verdauliches Format z.B. Listview Item mit subitems oder einem Array oder ähnliches zu übersetzen.&lt;br&gt;&lt;br&gt;z.B.:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim lvResponse As ListView&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvResponse = New ListView&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvResponse.Columns.Add("Index")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvResponse.Columns.Add("Score")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvResponse.Columns.Add("Title")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvResponse.Columns.Add("Message")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvResponse.Columns.Add("ArtistID")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvResponse.Columns.Add("Artist")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lvResponse.Columns.Add("ID")&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;der erste Schritt (deserialize) ist ja noch einfach:&lt;br&gt;&lt;br&gt;Dim dict = jss.Deserialize(Of Dictionary(Of String, Object))(JSON)&lt;br&gt;Wobei "JSON" ein String ist der den Response enthält.&lt;br&gt;&lt;br&gt;Zurück bekomme ich folgende Struktur -&gt; Siehe Bild&lt;br&gt;&lt;img src="https://forum.geizhals.at/files/203513/ScreenShot 599 MusicFind (Debugging) - Microsoft Visual Studio.jpg"/&gt;&lt;br&gt;&lt;br&gt;Vielleicht kann mir jemand erklären/zeigen wie man sich in so einem JSON Response via ForEach oder ähnlichem bewegt und die Daten richtig abfragt?!&lt;br&gt;&lt;br&gt;Für Ansätze wäre ich dankbar!&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Fri, 26 Dec 2014 16:56:11 GMT</pubDate>
      <guid>http://forum.geizhals.at/t858654,7402137.html#7402137</guid>
      <dc:creator>wasined</dc:creator>
      <dc:date>2014-12-26T16:56:11Z</dc:date>
    </item>
  </channel>
</rss>
