我目前正在尝试转换一些json
{"payload":{"versions":[{"1.0.2":{"vnum":"1.0.2","vloc":"http:\/\/*domainomitted*\/flyswatter\/files\/flyswatter_102.zip"},"1.0.1":{"vnum":"1.0.1","vloc":"http:\/\/*domainomitted*\/flyswatter\/files\/flyswatter_101.zip"}}]}}
进入VB.Net中的Iteratorable对象这是我目前所拥有的,但它只返回json数组中的第一个元素:
Dim vNum() As Object = j.getCfg("versions", False)
'Data is sent as versions:["1.0.1":{"vnum": "1.0.1", "vloc": "http://..."}, "1.0.2":{...}]
log("Populating:")
cbVSel.Items.Clear()
MessageBox.Show(vNum.Length) 'Returns 1
For Each ver As Dictionary(Of String, Object) In vNum
Dim k As String = ver.Keys(0)
MessageBox.Show(k.ToString()) 'Returns 1.0.2
Next
我觉得它很简单,但我现在已经有一段时间了。我也尝试过不同的对象,如HashTable,Array,Dictionary。
所以简而言之。我怎样才能使这个工作;使用JSON数组中的所有版本填充vNum
如果您需要查看JSON解析代码,请告诉我。非常感谢任何帮助。
谢谢!
答案 0 :(得分:0)
所以我最终搞清楚了。就像我使用JSON一样简单我将服务器端更改为输出:
{"payload":{"versions":[{"vnum":"1.0.2","vloc":"http:\/\/*domainomitted*\/flyswatter\/files\/flyswatter_102.zip"},{"vnum":"1.0.1","vloc":"http:\/\/*domainomitted*\/flyswatter\/files\/flyswatter_101.zip"}]}}
一切都很好。谢谢你的时间!