首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C#中读取和解析Json文件

在C#中读取和解析Json文件
EN

Stack Overflow用户
提问于 2012-11-09 04:50:37
回答 12查看 793.8K关注 0票数 310

我花了两天的大部分时间来处理代码示例等问题,试图用c#将一个非常大的JSON文件读入一个数组,以便稍后可以将其拆分成一个二维数组进行处理。

我遇到的问题是,我找不到任何人做我想做的事情的例子。这意味着我只是稍微编辑了一下代码,并抱着最好的希望。

我已经设法让一些东西工作起来,它将:

  • 读取文件未命中标头,并且仅将值读入数组。
  • 在数组的每一行上放置一定数量的值。(这样我以后就可以把它拆分成二维数组)

这是使用下面的代码完成的,但它在数组中输入几行代码后使程序崩溃。这可能与文件大小有关。

代码语言:javascript
复制
// 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的一个片段是:

代码语言:javascript
复制
[ 
    { "millis": "1000", 
      "stamp": "1273010254", 
      "datetime": "2010/5/4 21:57:34", 
      "light": "333", 
      "temp": "78.32", 
      "vcc": "3.54" }, 
] 

我需要这个JSON中的值。例如,我需要"3.54",但我不希望它打印"vcc“。

我希望有人能告诉我如何读取JSON文件,只提取我需要的数据,并将其放入一个数组中,或者其他我可以用来放入数组中的东西。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13297563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档