【发布时间】:2014-04-24 06:36:24
【问题描述】:
我正在使用 Visual Studio 2010 并在 Visual Basic 中进行编码。 我无法从 JSON 文件中提取值。 我可以获得最高的数据,但没有更低的数据。 它告诉我“无法将对象转换为字符串。
这是 JSON 的一部分
{
"WP0100300.htm": {
"alpha":{
"title": "Alphabetical Index",
"filename": "WP0100300-aindex.txt",
"change": "None"
},
"T001": {
"title": "Table 1. Summary",
"filename": "WP0100300-table1.txt"
}
},
"WP0100400.htm": {
"alpha":{
"title": "Alphabetical Index",
"filename": "WP0100400-aindex.txt",
"change": "None"
},
"ref": {
"title": "Reference Material Required",
"filename": "WP0100400-refmatreq.txt",
"change": "None"
},
}
}
这是从 JSON 中获取值的代码部分 最上面的 For Each 作品,我可以毫无问题地撤回名称(WP0100300.thm),所以我假设我会获取该名称的值并解析它并通过相同的 For Each 运行它以获得嵌套名称( alpha) 然后获取它的值,以便我可以获取标题、文件名等。但我什至无法撤回 JSON 的第一个嵌套部分的名称。上面写着 alpha、T001 等的部分。
Dim jResults As JObject = JObject.Parse(rawresp)
Dim results As List(Of JToken) = jResults.Children().ToList()
For Each item As JProperty In results
item.CreateReader()
Dim jResults2 As JObject = JObject.Parse(item.Value)
Dim results2 As List(Of JToken) = jResults2.Children().ToList()
For Each item2 As JProperty In results2
item2.CreateReader()
tvTest.Nodes.Add(item2.Name)
Next
Next
【问题讨论】: