C#解析json数据,如何通过下标值读取?

关于Newtonsoft读取json数据,在网上看到的都是使用JsonTextReader,然后,通过while循环读取出来。
如以下代码:

string json = @"{
   'CPU': 'Intel',
   'PSU': '500W',
   'Drives': [
     'DVD read/writer'
     /*(broken)*/,
     '500 gigabyte hard drive',
     '200 gigabype hard drive'
   ]
}";

JsonTextReader reader = new JsonTextReader(new StringReader(json));
while (reader.Read())
{
    if (reader.Value != null)
        Console.WriteLine("Token: {0}, Value: {1}", reader.TokenType, reader.Value);
    else
        Console.WriteLine("Token: {0}", reader.TokenType);
}

// Token: StartObject
// Token: PropertyName, Value: CPU
// Token: String, Value: Intel
// Token: PropertyName, Value: PSU
// Token: String, Value: 500W
// Token: PropertyName, Value: Drives
// Token: StartArray
// Token: String, Value: DVD read/writer
// Token: Comment, Value: (broken)
// Token: String, Value: 500 gigabyte hard drive
// Token: String, Value: 200 gigabype hard drive
// Token: EndArray
// Token: EndObject

这种方法不够灵活,比如,我想这样使用:

if(reader[2]=="")  
    return;

就是想通过下标先对json数据进行读取,而不是遍历一遍。
这是官方文档:http://james.newtonking.com/json/help/index.html#

阅读 9.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进