Ich habe den größten Teil von zwei Tagen damit verbracht, mich mit Codebeispielen usw. zu "beschäftigen" und zu versuchen, eine sehr große JSON-Datei in ein Array in c # zu lesen, damit ich sie später zur Verarbeitung in ein 2D-Array aufteilen kann.
Das Problem, das ich hatte, war, dass ich keine Beispiele für Leute finden konnte, die das taten, was ich versuchte. Dies bedeutete, dass ich nur ein wenig Code bearbeitete und auf das Beste hoffte.
Ich habe es geschafft, etwas zum Laufen zu bringen, das:
- Lesen Sie die Datei. Verpassen Sie Header und lesen Sie nur Werte in das Array.
- Platzieren Sie eine bestimmte Anzahl von Werten in jeder Zeile eines Arrays. (Also könnte ich es später aufteilen und in ein 2D-Array aufteilen)
Dies wurde mit dem folgenden Code durchgeführt, stürzt jedoch das Programm ab, nachdem einige Zeilen in das Array eingegeben wurden. Dies hängt möglicherweise mit der Dateigröße zusammen.
// 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 Ausschnitt aus dem JSON, mit dem ich arbeite, ist:
[
{ "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 möchte nicht, dass es das "vcc" druckt.
Ich hoffe, jemand kann mir zeigen, wie man eine JSON-Datei einliest und nur die benötigten Daten extrahiert und in ein Array oder etwas, das ich später in ein Array einfügen kann, einfügt.