将数据从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"
我会建议使用Json.net,因为它会帮助你对付这种复杂的json。
http://dorobantu.me/post/2010/08/22/Deserializing-JSON-to-anonymous-types-in-C.aspx
http://www.eugenedotnet.com/2010/12/windows-phone-7-serialization-json-net/
我想使用JSON.net(也写在我的问题这也)但我没有弄清楚如何建模我的数据(对象)..这主要是因为从服务器接收到的JSON几乎每次都是不同的。 – Paul
我不知道你到底在做什么,但是如果你知道所有的属性,并且你可以用json.net指定它们,你应该很好。但是,当然,您可能不想手动完成,因为示例结构看起来很复杂。尝试获取scheme(xsd)文件并查看是否可以使用xsd.exe转换为类 –
为什么你需要一个类?将它反序列化为键值对的映射应该没问题。 obj [“applications”] [“data”] [“application 1”] [“name”] –
@LastCoder:“Aplication 1”,“Aplication 2”和“Aplication 3”是不同的 - 可以是任何东西....我不知道它是什么。 – Paul