Zum Inhalt springen

Json in DataGridView anzeigen lassen


yamr6

Empfohlene Beiträge

Hey Leute,

ich bin gerade dabei ein C# Programm zu schrieben das Json Dateien abruft um diese zu bearbeiten. Ich hole mir die Json Datein über einen Webrequest


WebRequest request = WebRequest.Create("URL");

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream dataStream = response.GetResponseStream();

StreamReader reader = new StreamReader(dataStream);
Ein Json Objekt könnte zB so aussehen:

[

  {

    "id": "f3e9aa71-34ff-11e5-89dc-c5bba87be9d5",

    "value": "Braten",

    "countInAddons": 0

  },

  {

    "id": "f3e9aa72-34ff-11e5-89dc-c5bba87be9d5",

    "value": "Bratenfett",

    "countInAddons": 0

  }

]

Jetzt will ich das bzw die(können auch mehrere sein) Json Objekte mit Newtonsoft Deserializen und sie in ein DataGridView einfügen. Es soll für jeden "value" Eintrag eine neue Row erzeugt werden.

IList<JToken> ergebnisse = JObject.Parse(reader.ReadToEnd())["value"].Children().ToList();


IList<Tag> tags = new List<Tag>();

foreach (JToken ergebnis in ergebnisse)

{

      Tag tag = JsonConvert.DeserializeObject<Tag>(ergebnis.ToString());

      tags.Add(tag);

}


dataGridView1.DataSource = tags;

Ich bekomme aber schon beim Erstellen der IList<JToken> den Fehler "JsonReaderExpection wurde nicht behandelt", Error reading JObject from JsonReader. Path '', line 0, position 0.

Kann mir jemand weiterhelfen?

Bearbeitet von yamr6
C# eingefügt
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

wenn du den string aus dem Body gelesen hast, kannst du diesen direkt in ein IEnumerable/IList etc. deserialisieren.

Folgende Zeile sollte zu dem gewünschten Ergebnis führen:

var tags = JsonConvert.DeserializeObject<IList<Tag>>(reader.ReadToEnd());

Gruß

Jogibaer0411

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...