首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JsonTextReader (Json.NET)

JsonTextReader (Json.NET)
EN

Stack Overflow用户
提问于 2013-04-08 22:33:16
回答 1查看 8.1K关注 0票数 1

我正在尝试一个使用JsonTextReader读取JSON字符串的类(我需要读取一个流pov,而不是将整个结构加载到内存中)。但是JsonTextReader似乎不能很好地处理数组,或者我做错了什么,因为有一些值不是Read()。

我的代码:

代码语言:javascript
复制
while (jsonReader.Read())
{
    if (jsonReader.Value != null)
        Console.WriteLine("Token: {0}, Value: {1}", jsonReader.TokenType, jsonReader.Value);
    else
        Console.WriteLine("Token: {0}", jsonReader.TokenType);
}

我的JSON文件:

代码语言:javascript
复制
{
    "employees": [
        {
            "firstName": "John",
            "lastName": "Doe"
        },
        {
            "firstName": "Anna",
            "lastName": "Smith"
        },
        {
            "firstName": "Peter",
            "lastName": "Jones"
        }
    ]
}

输出:

代码语言:javascript
复制
Token: StartObject
Token: StartArray
Token: StartObject
Token: PropertyName, Value: firstName
Token: PropertyName, Value: lastName
Token: EndObject
Token: StartObject
Token: PropertyName, Value: firstName
Token: PropertyName, Value: lastName
Token: EndObject
Token: StartObject
Token: PropertyName, Value: firstName
Token: PropertyName, Value: lastName
Token: EndObject
Token: EndArray
Token: EndObject

请注意,像Jonh,Anna,Doe这样的内容...都没有显示出来。

你知道我该怎么解决这个问题吗?我正在避免序列化\反序列化解决方案或LINQ,因为我不能将整个结构加载到内存中。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-04-08 22:55:23

对于属性,当调用ToString时,jsonReader.Value返回属性名。您可以尝试将值转换为类似于JsonProperty类型的值,并查看它是否包含该属性的值。我不确定确切的类型名称是什么,但您可以在调试器中查找它。

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

https://stackoverflow.com/questions/15881875

复制
相关文章

相似问题

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