Najlepszą część dwóch dni spędziłem na „grzebaniu” w próbkach kodu itp., Próbując odczytać bardzo duży plik JSON w tablicy w języku c #, aby później móc go podzielić na tablicę 2D w celu przetworzenia.
Problem, który miałem, polegał na tym, że nie mogłem znaleźć przykładów ludzi wykonujących to, co próbowałem. Oznaczało to, że po prostu trochę edytowałem kod, mając nadzieję na najlepsze.
Udało mi się uzyskać coś, co:
- Odczyt pliku Brakuje nagłówków i odczytuje tylko wartości do tablicy.
- Umieść określoną liczbę wartości w każdym wierszu tablicy. (Więc mogłem później podzielić go na tablicę 2d)
Dokonano tego za pomocą poniższego kodu, ale powoduje on awarię programu po wprowadzeniu kilku wierszy do tablicy. Może to mieć związek z rozmiarem pliku.
// 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;
}
}
}
Fragment kodu JSON, z którym pracuję, to:
[
{ "millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" },
]
Potrzebuję wartości z tego JSON. Na przykład potrzebuję „3.54”, ale nie chcę, aby drukował „vcc”.
Mam nadzieję, że ktoś pokaże mi, jak odczytać plik JSON i wyodrębnić tylko potrzebne dane i umieścić je w tablicy lub coś, czego mogę użyć do późniejszego umieszczenia w tablicy.