JSON解析[和]
问题描述:
我从URL的JSON数据,我需要拆分值,JSON解析[和]
"name":"michael",
"number":"0015454545",
"age":"22",
"interest":[
["swim","baseball","music","tenis"],
["washington","3","27","a"],
["New york","2","16","b"],
["los angeles","21","11","c"],
["dallas","7","22","a"]
]
我的代码:
Dim json As String = MyjsonDataLink
Dim ser As JObject = JObject.Parse(json)
Dim data As List(Of JToken) = ser.Children().ToList
For Each item As JProperty In data
item.CreateReader()
If item.Name = "interest" Then
Response.Write(item.Value.ToString)
Response.Write("<br><br><br>")
Next
End If
Next
但是,文本输出,
["washington","3","27","a"],
["new york","2","16","b"],
["los angeles","21","11","c"],
["dallas","7","22","a"]]
我如何提取“华盛顿”,“纽约”,“洛杉矶”和“达拉斯”字符串?
答
LINQ是为这样的情况而建造的。这里有一个控制台应用程序龙虎斗:
Imports Newtonsoft.Json.Linq
Module Module1
Sub Main()
'ignore the <a> tag, it's just a trick for multi-line strings
Dim json = <a>
{"name":"michael",
"number":"0015454545",
"age":"22",
"interest":[
["swim","baseball","music","tenis"],
["washington","3","27","a"],
["New york","2","16","b"],
["los angeles","21","11","c"],
["dallas","7","22","a"]
]}</a>.Value
Dim ser As JObject = JObject.Parse(json)
'now let LINQ do the work for us
Dim output = From s In ser("interest").Children Select s.First
For Each item In output
Console.Write(item)
Console.Write("<br/><br/><br/>")
Next
Console.ReadLine()
End Sub
End Module
结果:
swim<br/><br/><br/>washington<br/><br/><br/>New york<br/><br/><br/>los angeles<br/><br/><br/>dallas<br/><br/><br/>
+0
这里有一些很棒的Json.Net LINQ信息(在C#中):http:// www .newtonsoft.com/JSON /帮助/ HTML/QueryingLINQtoJSON.htm –
你确定那是什么打印?因为我预计会看到''“游泳”,“棒球”,“音乐”,“编辑”],'在那里,没有结尾']'...... –
@ MikeMcCaughan-看起来像复制和粘贴起来。 op有'Next'和'End If'的错误... – ps2goat
我需要解析“[”to“]”value .. – user2733659