Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Json - Daten auslesen

Empfohlene Antworten

Veröffentlicht

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

Gruß

MVC:

Controller-Action die ein Json-Result-Object zurückgibt

ASP.NET:

JsonTextWriter-Class, bekommt man bei: Json.NET

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

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.


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ß

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.