Saya telah menghabiskan bagian terbaik dari dua hari "faffing" tentang dengan contoh kode dan lain-lain, mencoba membaca file JSON yang sangat besar ke dalam array di c # jadi saya nanti dapat membaginya menjadi array 2d untuk diproses.
Masalah yang saya alami adalah saya tidak dapat menemukan contoh orang melakukan apa yang saya coba lakukan. Ini berarti saya hanya mengedit kode sedikit berharap untuk yang terbaik.
Saya telah berhasil membuat sesuatu berfungsi yang akan:
- Baca file Miss out header dan hanya baca nilai ke dalam array.
- Tempatkan sejumlah nilai pada setiap baris array. (Jadi saya kemudian bisa membaginya menjadi 2d array)
Ini dilakukan dengan kode di bawah ini tetapi crash program setelah memasukkan beberapa baris ke dalam array. Ini mungkin ada hubungannya dengan ukuran 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;
}
}
}
Cuplikan dari JSON yang saya kerjakan adalah:
[
{ "millis": "1000",
"stamp": "1273010254",
"datetime": "2010/5/4 21:57:34",
"light": "333",
"temp": "78.32",
"vcc": "3.54" },
]
Saya perlu nilai dari JSON ini. Sebagai contoh, saya perlu "3.54", tetapi saya tidak ingin mencetak "vcc".
Saya berharap seseorang dapat menunjukkan kepada saya cara membaca file JSON dan hanya mengekstrak data yang saya butuhkan dan memasukkannya ke dalam array atau sesuatu yang bisa saya gunakan untuk kemudian dimasukkan ke dalam array.