我花了两天的大部分时间来“打理”代码示例等,试图将一个非常大的JSON文件读入c#中的数组,以便稍后将其拆分为2d数组进行处理。
我遇到的问题是,我找不到任何有人在做我想做的事的例子。这意味着我只是在编辑代码,以期获得最佳效果。
我设法使某些东西能够工作:
- 读取文件Miss out标头,仅将值读入数组。
- 在数组的每一行上放置一定数量的值。(所以我以后可以将它分割成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文件,并且仅提取所需的数据并将其放入数组或以后可用于数组的内容。