2014-09-23 3 views
0

Я в настоящее время пытается преобразовать некоторые JSonVB.Net JavaScriptSerializer только получает первое значение массива 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"}}]}} 

в Iteratorable объект в VB.Net Вот то, что я в данный момент, но он возвращает только первый элемент из массива 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.

Итак, короче говоря. Как я могу заставить это работать; Заполнение vNum со всеми версиями из JSON Array

Если вам нужно увидеть код JSON Parsing, дайте мне знать. Любая помощь очень ценится.

Спасибо!

ответ

0

Так что я закончил тем, что понял. Это было так просто, как мне с помощью JSON неправильно, я изменил ServerSide на выходе:

{"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"}]}} 

И все было хорошо снова. Спасибо за ваше время!

Смежные вопросы