我有一个JSON结果,我试图使用 Newtonsoft.Json 转换为数组。 我从网站获得的JSON结果与(为了便于阅读)格式相符:
{
"headers":
[
"Shift Date",
"Shift Number"
],
"values":
[
["2016-06-19T00:00:00",0],
["2016-06-19T00:00:00",2],
["2016-06-19T00:00:00",1]
]
}
我发现的代码示例说我应该可以使用
Dim arr As JArray = JArray.Parse(response.Content)
这会导致错误:
An unhandled exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll
Additional information: Error reading JArray from JsonReader. Current JsonReader item is not an array: StartObject. Path '', line 1, position 1.
关于可能导致问题的任何指导?我怀疑这是“标题”,但无法在网上找到有关如何解决的建议
答案 0 :(得分:0)
您正在使用JArray
,但您的输入实际上是一个对象 - 即数据
{..stuff..}
而不是
[ {..stuff..} ]
。
如果您将输入重组为:
[{
"headers": [
"Shift Date",
"Shift Number"
],
"values": [
["2016-06-19T00:00:00", 0],
["2016-06-19T00:00:00", 2],
["2016-06-19T00:00:00", 1]
]
}]
然后,您可以使用JArray.Parse(strJson)
方法。
在当前结构中,您应该使用JObject.Parse
。