2010-07-15 15 views
2

{"images":[{"id":"obj_0","src":"background.jpg","width":"640","height":"480"},{"id":"obj_9","src":"elements/pipe.png","width":50,"height":44,"top":196,"left":154,"rotation":"0"},{"id":"obj_13","src":"elements/cigarette.png","width":45,"height":67,"top":168,"left":278,"rotation":"0"},{"id":"obj_10","src":"elements/hat.png","width":227,"height":122,"top":28,"left":241,"rotation":"0"},{"id":"obj_14","src":"elements/hair.png","width":244,"height":204,"top":-17,"left":98,"rotation":"0"}]}l'évaluation de ce tableau de chaînes JSON dans vb.net

s'il vous plaît aidez-moi comment obtenir et/ou évaluer l'objet de cette chaîne JSON avec VB.Net.

merci

+0

départ http://stackoverflow.com/questions/401756/parsing-json-using-json-net La principale réponse est en C#, mais il est facile de convertir en VB.NET. –

+0

merci! J'ai vérifié celui-ci et l'ai trouvé identique à la solution beaucoup plus simple de Carter ci-dessous. – EkisPinoy

Répondre

0

C'était amusant, merci.

Voici la réponse en VB.

Private Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load 
    Dim json = litData.Text 'or put your json string in here {"images":[{"id"...}]} etc.' 

    Dim ser As New Web.Script.Serialization.JavaScriptSerializer 
    Dim images = ser.Deserialize(Of jsonImageArray)(json) 

    'Now do something with your deserialized data.' 
End Sub 

'for {"images" collection' 
Public Class jsonImageArray 
    Public images As jsonImage() 
End Class 

'for sub elements' 
Public Class jsonImage 
    Public id As String 
    Public src As String 
    Public width As Int32 
    Public height As Int32 
    Public top As Int32 
    Public left As Int32 
    Public rotation As Double 
End Class 
+0

merci carter !! Je l'ai testé et ça fonctionne. et oui ... c'était vraiment amusant. C'était en fait ma première fois demander de l'aide. tout ce que j'ai fait était de chercher à travers le net mais je peux dire, c'était bon. J'ai juste une autre question, j'utilise .net 2008 et il y a un avertissement que javascriptserializer était déjà obsolète et qu'il devrait être DataContractSerializer. des pensées ou peut-être, un équivalent de ce que vous avez fourni. encore, merci beaucoup. : D – EkisPinoy

+0

Il est seulement obsolète avant .net 3.5 SP1 (huh?!), Donc vous pouvez l'utiliser en toute sécurité. On dirait qu'il y a eu un grand débat autour de ça. Beaucoup de gens étaient contrariés, alors ce n'est plus obsolète. Voir cet article pour plus de détails ... http://stackoverflow.com/questions/536359 –