我在.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"
}
],}
答案 0 :(得分:1)
我在处理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])
}
}
}
请删除所有带变量的控制台,希望这对您有所帮助。
答案 1 :(得分:0)
这只是将对象分解为令牌并将值读入列表的问题。
Dim tags As List(Of JToken) =
item.Last.SelectToken("matching_results").Children()("tag").ToList