在WP7 / Silverlight上解析复杂的JSON [英] Parsing Complex JSON on WP7/Silverlight
问题描述
我是Windows Phone开发的新手,C#的新手,并试图为我的公司构建原型。 我能够使用DataContractJsonSerializer反序列化一个非常简单的JSON结果,如下所示:
定义一个单独的合同对于每个级别或"级别",在json的回应中。您的主数据合同将具有定义为这些合同类型的属性。例如:
" allocation":{$
"city":"SEATTLE",
"region":"WA",
"country":"US",
" carrier_name":"SPRINT SPECTRUM L.P.",
"access_type":"无线",
"ratecenter":"SEATTLE",
" ratecenter_formatted":" Seattle",$
"lat":47.6062095,
"lng": - 122.3320708,
"geo_precision":4,
" available_on":null,
" effective_on":null,
"carrier_ocn":" 6664",
"污染":null,
"npa":206,
"nxx":683,
"block_code":null,
" assigned_on":null,
" current_on":" 2010-04-28",
"status":"已分配",
}
如下所示:
[
DataContract ]
public
class
ResponseData
{
[
DataMember ]
public
分配 分配;
}
[
DataContract ]
  ;
public
class
分配
{
[
DataMember ]
public
string geo_precision;
[
DataMember ]
public
string npa;
[
DataMember ]
  ;
public
string assigned_on;
[
DataMember ]
  ;
public
string country;
[
DataMember ]
  ;
public
string status;
[
DataMember ]
  ;
public
string 已分配;
[
DataMember ]
public
string ratecenter_formatted;
[
DataMember ]
public
string nxx;
[
DataMember ]
public
string carrier_name;
[
DataMember ]
public
string effective_on;
[
DataMember ]
public
string region;
[
DataMember ]
public
string carrier_ocn;
[
DataMember ]
public
string available_on;
[
DataMember ]
public
string access_type;
[
DataMember ]
public
string lat;
[
DataMember ]
public
string 污染;
[
DataMember ]
public
string ratecenter;
[
DataMember ]
public
string city;
[
DataMember ]
public
string lng;
[
DataMember ]
public
string current_on;
[
DataMember ]
public
string block_code;
}
< br>
数据合同可能将另一个数据合同定义为财产。
 
I'm new to Windows Phone development, new to C#, and trying to build a prototype for my company. I was able to use the DataContractJsonSerializer to deserialize a really simple JSON result like this:
Define a separate contract for each level or "class" in the json response. Your main data contract will have properties that are defined as the type of these contracts. For example:
"allocation": {
"city": "SEATTLE",
"region": "WA",
"country": "US",
"carrier_name": "SPRINT SPECTRUM L.P.",
"access_type": "wireless",
"ratecenter": "SEATTLE",
"ratecenter_formatted": "Seattle",
"lat": 47.6062095,
"lng": -122.3320708,
"geo_precision": 4,
"available_on": null,
"effective_on": null,
"carrier_ocn": "6664",
"contaminations": null,
"npa": 206,
"nxx": 683,
"block_code": null,
"assigned_on": null,
"current_on": "2010-04-28",
"status": "allocated",
}
looks like this:
[
DataContract]
public class ResponseData
{
[
DataMember]
public allocation allocation;
}
[
DataContract]
public class allocation
{
[
DataMember]
public string geo_precision;
[
DataMember]
public string npa;
[
DataMember]
public string assigned_on;
[
DataMember]
public string country;
[
DataMember]
public string status;
[
DataMember]
public string allocated;
[
DataMember]
public string ratecenter_formatted;
[
DataMember]
public string nxx;
[
DataMember]
public string carrier_name;
[
DataMember]
public string effective_on;
[
DataMember]
public string region;
[
DataMember]
public string carrier_ocn;
[
DataMember]
public string available_on;
[
DataMember]
public string access_type;
[
DataMember]
public string lat;
[
DataMember]
public string contaminations;
[
DataMember]
public string ratecenter;
[
DataMember]
public string city;
[
DataMember]
public string lng;
[
DataMember]
public string current_on;
[
DataMember]
public string block_code;
}
A data contract may have another data contract defined as a property.
这篇关于在WP7 / Silverlight上解析复杂的JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!