【问题标题】:Parsing huge Json files having multiple json objects using json.net [duplicate]使用 json.net 解析具有多个 json 对象的巨大 Json 文件 [重复]
【发布时间】:2015-01-22 20:42:52
【问题描述】:

我想知道是否有一种方法可以使用 Json.net 一次读取一个 json 对象。目前,这是我正在使用的代码,它可以在流读取器中加载整个文件,但不能一次只解析一个对象。有什么建议吗??

StreamReader streamReader = new StreamReader(@"Sample.json");
List<Member> mlist; 

using (JsonReader reader = new JsonTextReader(streamReader))
{
    JsonSerializer serializer = new JsonSerializer();

    mlist = serializer.Deserialize<List<Member>>(reader);
}

【问题讨论】:

  • 查看 JSON.Net 的文档。例如,您可以使用Read 逐个令牌读取JsonTextReader 令牌。
  • 嗨,马特 - 使用读取作为我遍历令牌时,我怎么知道 json 对象已经结束并且新对象已经开始?谢谢

标签: .net json json.net


【解决方案1】:

借助您的 cmets 和其他链接,我能够找到我的问题的解决方案:

        StreamReader streamReader = new StreamReader(@"C:\Sample.json");
        using (JsonTextReader reader = new JsonTextReader(streamReader))
        {
            while (reader.Read())
            {
                if (reader.TokenType == JsonToken.StartObject)
                {
                    // Load each object from the stream and do something with it

                     JObject obj = JObject.Load(reader);

                     JsonSerializer serializer = new JsonSerializer();
                     Member m = (Member)serializer.Deserialize(new JTokenReader(obj), typeof(Member));


                }
            }

        }

}

【讨论】:

  • 您可以将自己的答案标记为已接受。
猜你喜欢
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
相关资源
最近更新 更多