【发布时间】:2020-03-23 17:20:44
【问题描述】:
我正在尝试从 Google 音译 Json 中获取价值。 Json 代码如下所示:
[
"SUCCESS",
[
[
"hlo",
[
"jaisa",
"jaisaa",
"jaissa",
"jaisaaa",
"zaisa",
"jaissaa"
],
[],
{
"candidate_type": [
0,
0,
0,
0,
0,
0
]
}
],
[
"ok",
[
"main",
"mainn",
"man",
"mein",
"mann",
"meinn"
],
[],
{
"candidate_type": [
0,
0,
0,
0,
0,
0
]
}
]
]
]
我的 C# 代码从 json 中获取值:
var userObj = JObject.Parse(jsontxt.Text.Trim());
wordstxt.Text = userObj[1][0][0].ToString();
没有从 json 代码中提取值的变量名,我收到如下错误:
从 JsonReader 读取 JObject 时出错。当前的 JsonReader 项目不是 一个对象:StartArray。路径'',第 1 行,位置 1。
谁能帮我解决这个问题。我正在努力获得价值hlo > jaisa
【问题讨论】:
-
使用
JArray.Parse而不是JObject.Parse,因为您获得的 JSON 文档代表一个数组,而不是一个对象。 -
@JonSkeet 谢谢。 “var userObj = JArray.Parse(jsontxt.Text.Trim()); wordstxt.Text = userObj[1][0][0].ToString();”这是有效的并返回 hlo。但我想获得 hlo 的第一个值
-
所以使用
userObj[1][0][1],这是另一个数组。基本上,您需要非常仔细地查看 JSON 的结构,并从中找出您需要什么。使用调试器调查userObj可能会对您有所帮助。