2011-08-17 43 views
0

我知道這方面有很多問題,但我無法弄清楚如何正確解決這個問題。 我已經從服務器接收一個JSON看起來是這樣的:將數據從Json反序列化到.Net對象

{ 
    "Applications":{ 
     "data":{ 
      "Aplication 1":[ 
       { 
        "index":1, 
        "name":"App1", 
        "groups":{ 
         "Properties":[ 
          { 
           "number":0, 
           "fields":{ 
            "primary":"primaryValue" 
           } 
          } 
         ] 
        } 
       } 
      ], 
      "Aplication 2":[ 
       { 
        "index":2, 
        "name":"App2", 
        "groups":{ 
         "Properties":[ 
          { 
           "number":0, 
           "fields":{ 
            "searchEngine":"icon", 
            "url":"google", 
           } 
          } 
         ] 
        } 
       } 
      ], 
      "Aplication 3":[ 
       { 
        "index":3, 
        "name":"Foursquare", 
        "groups":{ 
         "Properties":[ 
          { 
           "number":0, 
           "fields":{ 
            "incoURL":"socialURL.jpg", 
            "nameSoc":"rectangle", 
            "url":"http://www.name.com" 
           } 
          } 
         ] 
        } 
       } 
      ] 
     } 
    } 

} 

我試圖用Json.NET反序列化到這個。

我不確定如何在Windows Phone應用程序的類中翻譯此JSON格式。我甚至不確定這是否可能,因爲可以在上述JSON格式中看到「應用程序1」,「應用程序2」和「應用程序3」是不同的,並且每個應用程序的字段名稱可能不同: - 爲"Aplication 1"只有一個:"primary" - 爲"Application 2"是2:"searchEngine""url" - 爲"Application 3"是3:"incoURL""nameSoc""url"

+0

爲什麼你需要一個類?將它反序列化爲鍵值對的映射應該沒問題。 obj [「applications」] [「data」] [「application 1」] [「name」] –

+0

@LastCoder:「Aplication 1」,「Aplication 2」和「Aplication 3」是不同的 - 可以是任何東西....我不知道它是什麼。 – Paul

回答

0
+0

我想使用JSON.net(也寫在我的問題這也)但我沒有弄清楚如何建模我的數據(對象)..這主要是因爲從服務器接收到的JSON幾乎每次都是不同的。 – Paul

+0

我不知道你到底在做什麼,但是如果你知道所有的屬性,並且你可以用json.net指定它們,你應該很好。但是,當然,您可能不想手動完成,因爲示例結構看起來很複雜。嘗試獲取scheme(xsd)文件並查看是否可以使用xsd.exe轉換爲類 –