我在.net中使用Newtonsoft来解析json内容,并希望我实际上对此进行了更好的研究。我创建了一个 obj 来解析字符串文本,方法是将所有子项列出到 JTOkens 列表中,然后从每个 JProperty 中获取各个值。但是现在我需要捕获一个值列表,但不确定如何做到这一点。
Dim jobj As JObject = JObject.Parse(msg.Body.ToString())
Dim results As List(Of JToken) = jobj.Children().ToList
For Each item As JProperty In results
item.CreateReader()
If item.Name = "id" Then
statid = item.Value
End If
etc...
但是现在我在对象中找到以下项目,需要所有"值"和"标签"
{"results":
{
{
"language": {
"value": "ja"
},
"matching_results": [
{
"value": "iPhone5",
"tag": "JOE"
},
{
"value": "iPhone5",
"tag": "BOB"
}
],}
我在处理 JSON 时遇到了同样的问题,我找到了这个解决方案:-
function jsonParse(data)
{
if(typeof data=='object')
{
for(var obj in data)
{
if(obj=='value')
{
console.log('value---',data[obj])
}
else if(obj=='tag')
{
console.log('tag---',data[obj])
}
jsonParse(data[obj])
}
}
}
请删除带有您的变量的所有控制台,希望这会对您有所帮助。
这只是将
对象分解为标记并将值读取到列表中的问题。
Dim tags As List(Of JToken) =
item.Last.SelectToken("matching_results").Children()("tag").ToList