Zum Inhalt springen

Json - Daten auslesen


Gast alexC++

Empfohlene Beiträge

Json-Daten einlesen, nicht schreiben.

Es ist kein Beispiel für lesen vorhanden.


//eine Json-Datei lesen

//sFileName = @"/irgend/wo/Projects/testJson//Json_Daten/test_data.json";


StringReader rd = new StringReader(sFileName);

rd.ReadToEnd();

JsonReader reader = new JsonTextReader(rd);

txtV_Daten.Buffer.InsertAtCursor(reader.Read().ToString());

while(reader.Read()){

	txtV_Daten.Buffer.InsertAtCursor(reader.TokenType.ToString());

	txtV_Daten.Buffer.InsertAtCursor(reader.ValueType.ToString());

	txtV_Daten.Buffer.InsertAtCursor(reader.Value.ToString());

}

er liest nur leider nicht ! :rolleyes:

reader.Read().ToString() = false

Link zu diesem Kommentar
Auf anderen Seiten teilen


string sFileName = @"/irgend/wo/Projects/JsonKonsole/JsonKonsole/Json-Daten/test-data.json";


using (StreamReader sr = new StreamReader(sFileName))

using (JsonReader reader = new JsonTextReader(sr))

{

   while(reader.Read()){

	Console.WriteLine(reader.TokenType + "\t\t" + reader.ValueType + "\t\t" + reader.Value);

   }	

}

habe aus der grafischen anwendung eine konsolenanwendung gemacht

und es funktioniert jetzt.

weiß aber nicht warum es vorher nicht lief!

gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wahrscheinlich lag es am "ReadToEnd" Deines StringReaders. Damit wird der gesammte Inhalt des Streams gelesen und der Cursor ist natürlich auf der letzen Position. Den gleichen Reader übergibst Du dann an den JsonTextReader, der den StringReader benutzen soll um den Stream "Value"-weise einzulesen. Da der Cursor im StringReader aber schon am Ende ist, kann da nichts mehr eingelesen werden.

Du kannst die Position des StringReader wieder auf "0" setzen (rd.Postion = 0;).

In Deinem zweiten Beispiel verwendest Du kein "ReadToEnd()", also ist der Cursor des StringReaders immer noch am Anfang der Zeichenkette und kann dem JsonTextReader Zeichen zurückgeben.

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...