2016-05-31 119 views
0

我從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"]] 

我如何提取「華盛頓」,「紐約」,「洛杉磯」和「達拉斯」字符串?

+0

你確定那是什麼打印?因爲我預計會看到''「游泳」,「棒球」,「音樂」,「編輯」],'在那裏,沒有結尾']'...... –

+0

@ MikeMcCaughan-看起來像複製和粘貼起來。 op有'Next'和'End If'的錯誤... – ps2goat

+0

我需要解析「[」to「]」value .. – user2733659

回答

0

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 –