Ho trascorso la maggior parte dei due giorni a "affannarmi" con esempi di codice e così via, cercando di leggere un file JSON molto grande in un array in c #, in modo da poterlo dividere successivamente in un array 2d per l'elaborazione.
Il problema che stavo avendo era che non riuscivo a trovare esempi di persone che facessero quello che stavo cercando di fare. Ciò significava che stavo solo modificando un po 'il codice sperando per il meglio.
Sono riuscito a far funzionare qualcosa che:
- Leggi il file Perdere le intestazioni e leggere solo i valori nell'array.
- Inserire una certa quantità di valori su ciascuna riga di un array. (Quindi ho potuto dividerlo in seguito in un array 2d)
Ciò è stato fatto con il codice seguente, ma si arresta in modo anomalo al programma dopo aver inserito alcune righe nell'array. Ciò potrebbe avere a che fare con la dimensione del file.
// 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;
}
}
}
Un frammento del JSON con cui sto lavorando è:
[
{ "millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" },
]
Ho bisogno dei valori di questo JSON. Ad esempio, ho bisogno di "3.54", ma non vorrei che stampasse il "vcc".
Spero che qualcuno possa mostrarmi come leggere un file JSON ed estrarre solo i dati di cui ho bisogno e metterli in un array o qualcosa che posso usare per inserire successivamente in un array.