391 Stimmen

Lesen und Parsen einer Json-Datei in C#

Wie liest man eine sehr große JSON-Datei in ein Array in c# für die spätere Verarbeitung aufgeteilt werden?


Ich habe es geschafft, etwas zu entwickeln, das funktioniert:

  • Lesen Sie die Datei Miss out Header und lesen Sie nur Werte in Array.
  • Platzieren Sie eine bestimmte Anzahl von Werten in jeder Zeile eines Arrays. (So kann ich später aufteilen und in ein 2d-Array einfügen kann)

Dies wurde mit dem unten stehenden Code gemacht, aber es stürzt das Programm nach der Eingabe von ein paar Zeilen in das Array ab. Dies könnte mit der Dateigröße zu tun haben.

// If the file extension was a jave file the following 
// load method will be use else it will move on to the 
// next else if statement
if (fileExtension == ".json") 
{
    int count = 0;
    int count2 = 0;
    int inOrOut = 0;
    int nRecords=1; 
    JsonTextReader reader = new JsonTextReader(new StreamReader(txtLoaction.Text));
    string[] rawData = new string[5];
    while (reader.Read())
    {
        if (reader.Value != null)
            if (inOrOut == 1)
            {
                if (count == 6)
                {
                    nRecords++;
                    Array.Resize(ref rawData, nRecords);
                    //textBox1.Text += "\r\n";
                    count = 0;
                }
                rawData[count2] += reader.Value + ","; //+"\r\n"
                inOrOut = 0;
                count++;
                if (count2 == 500)
                {
                    MessageBox.Show(rawData[499]);
                }
            }
            else
            {
                inOrOut = 1;
            }
    } 
}

Ein Auszug aus dem JSON, mit dem ich arbeite, lautet:

[ 
    { "millis": "1000", 
      "stamp": "1273010254", 
      "datetime": "2010/5/4 21:57:34", 
      "light": "333", 
      "temp": "78.32", 
      "vcc": "3.54" }, 
] 

Ich brauche die Werte aus diesem JSON. Zum Beispiel brauche ich "3.54", aber ich würde nicht wollen, dass es die "vcc" zu drucken.

Wie kann man eine JSON-Datei einlesen und nur die Daten extrahieren, die in ein Array eingefügt werden sollen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X