我在asp.net VB中有以下JSON:
Dim jsonString As String = "{'results':[ {'comments': 'some text', 'date' : 'some date', 'user':'aaa'},{'comments': 'some text2', 'date2' : 'some date2', 'user':'aaa2'}]} "
Dim json As JObject = JObject.Parse(jsonString)
如何循环使用注释等值?
谢谢
答案 0 :(得分:0)
Newtonsoft文档页面Querying JSON with LINQ和Querying JSON with SelectToken描述了如何在加载后查询嵌套在JObject
层次结构中的值。
例如,使用SelectTokens()
,您可以按如下方式查询注释值:
' Get all comment values, convert them to simple strings, and store in an array:
Dim comments = json.SelectTokens("results[*].comments") _
.Select(Function(t) t.ToString()) _
.ToArray()
这里我使用通配符运算符[*]
来匹配"results"
数组中的所有元素。这是JSONPath query syntax的标准运算符SelectTokens()
支持。
这是使用LINQ的等效逻辑:
Dim query = From item In json("results")
Let comment = item("comments")
Where comment IsNot Nothing
Select CType(comment, String)
Dim comments = query.ToArray()
示例fiddle。