Zum Inhalt springen

Json - Daten auslesen


Empfohlene Beiträge

Geschrieben

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

Geschrieben

Vielleicht liegts daran, dass der StringReader rd am Ende des Streams steht nachdem Du rd.ReadToEnd() aufgerufen hast (brauchst Du das da eigentlich?).

Versuch doch mal die Position wieder auf 0 zu setzen bevor Du den JsonTextReader damit lesen lässt.

Geschrieben


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ß

Geschrieben

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.

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