He pasado la mayor parte de dos días "jugando" con muestras de código, etc., tratando de leer un archivo JSON muy grande en una matriz en C # para luego poder dividirlo en una matriz 2D para procesarlo.
El problema que tenía era que no podía encontrar ningún ejemplo de personas que hicieran lo que estaba tratando de hacer. Esto significaba que solo estaba editando código un poco esperando lo mejor.
He logrado hacer que algo funcione que:
- Leer el archivo Se pierden los encabezados y solo se leen los valores en la matriz.
- Coloque una cierta cantidad de valores en cada línea de una matriz. (Entonces podría dividirlo y ponerlo en una matriz 2d)
Esto se hizo con el código a continuación, pero bloquea el programa después de ingresar algunas líneas en la matriz. Esto podría tener que ver con el tamaño del archivo.
// 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 fragmento del JSON con el que estoy trabajando es:
[
{ "millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" },
]
Necesito los valores de este JSON. Por ejemplo, necesito "3.54", pero no quisiera que imprima el "vcc".
Espero que alguien pueda mostrarme cómo leer un archivo JSON y solo extraer los datos que necesito y ponerlos en una matriz o algo que pueda usar para luego colocarlos en una matriz.