将数据从Json反序列化到.Net对象

问题描述:

我知道这方面有很多问题,但我无法弄清楚如何正确解决这个问题。 我已经从服务器接收一个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

我想使用JSON.net(也写在我的问题这也)但我没有弄清楚如何建模我的数据(对象)..这主要是因为从服务器接收到的JSON几乎每次都是不同的。 – Paul

+0

我不知道你到底在做什么,但是如果你知道所有的属性,并且你可以用json.net指定它们,你应该很好。但是,当然,您可能不想手动完成,因为示例结构看起来很复杂。尝试获取scheme(xsd)文件并查看是否可以使用xsd.exe转换为类 –