Zum Inhalt springen

Json - Daten auslesen


Empfohlene Beiträge

Geschrieben

Weiß einer wie man unter Json.NET Daten einliest?

Gruß

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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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