【发布时间】:2016-04-04 01:30:16
【问题描述】:
JSON 字符串:
[{"id":"1","username":"admin","password":"anymd5hash","rank":"2"}]
以下代码:
Newtonsoft.Json.Linq.JObject userData;
userData = Newtonsoft.Json.Linq.JObject.Parse(result);
MessageBox.Show(userData["username"].ToString());
当我执行这段代码时,会出现错误:
从 JsonReader 读取 JObject 时出错。当前的 JsonReader 项目不是 一个对象:StartArray。路径'',第 1 行,位置 1。
我很确定,这段代码已经在另一个项目中工作了。
我的错误是什么?
【问题讨论】:
-
从您的字符串中删除
[和],然后重试。这是一个数组。 -
或者更有可能切换到
Newtonsoft.Json.Linq.JArray.Parse。这将接受您现有的输入。JToken也适用于数组(你所拥有的)或对象。 -
如果事先不知道根对象是数组还是对象,使用
JToken.Parse()。