Passei a maior parte de dois dias "brincando" com amostras de código e etc., tentando ler um arquivo JSON muito grande em uma matriz em c # para que depois eu possa dividi-la em uma matriz 2D para processamento.
O problema que eu estava tendo era que não conseguia encontrar exemplos de pessoas fazendo o que estava tentando fazer. Isso significava que eu estava apenas editando um pouco o código, esperando o melhor.
Consegui obter algo funcionando que:
- Leia o arquivo Perca os cabeçalhos e leia apenas os valores na matriz.
- Coloque uma certa quantidade de valores em cada linha de uma matriz. (Então eu poderia depois dividi-lo e colocá-lo em um array 2D)
Isso foi feito com o código abaixo, mas trava o programa depois de inserir algumas linhas na matriz. Isso pode ter a ver com o tamanho do arquivo.
// 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;
}
}
}
Um trecho do JSON com o qual estou trabalhando é:
[
{ "millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" },
]
Eu preciso dos valores deste JSON. Por exemplo, preciso de "3.54", mas não gostaria que ele imprimisse o "vcc".
Espero que alguém possa me mostrar como ler um arquivo JSON e extrair apenas os dados necessários e colocá-los em uma matriz ou algo que eu possa usar para colocar posteriormente em uma matriz.