Я витратив найкращу частину двох днів на "фафінг" з зразками коду і т. Д., Намагаючись прочитати дуже великий файл JSON в масив c #, щоб пізніше розділити його на 2-двійний масив для обробки.
Проблема, яка була у мене, полягала в тому, що я не міг знайти прикладів того, щоб люди робили те, що я намагався зробити. Це означало, що я просто редагував код трохи сподіваючись на найкраще.
Мені вдалося налагодити щось, що допоможе:
- Читайте файл Пропустіть заголовки і читайте лише значення у масиві.
- Розмістіть певну кількість значень у кожному рядку масиву. (Тож я міг пізніше розділити його на 2d масив)
Це було зроблено з наведеним нижче кодом, але він завершує роботу програми після введення кількох рядків у масив. Це може бути пов'язано з розміром файлу.
// 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;
}
}
}
Фрагмент JSON, з яким я працюю:
[
{ "millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" },
]
Мені потрібні значення з цього JSON. Наприклад, мені потрібно "3,54", але я б не хотів, щоб він надрукував "vcc".
Я сподіваюся, що хтось може мені показати, як читати файл JSON і лише витягувати потрібні мені дані та вносити їх у масив чи щось, що я можу використати, щоб згодом помістити у масив.