-------------JSON字符串---------
{"id":"-1","result":{"relations":[{"ptId":"713990455","game":"风云","gameid":"50","worldid":"1.1","nickname":"贵族≮蓝皓
≯","gender":"0","relation":"1"},{"ptId":"714626904","game":"风云","gameid":"50","worldid":"1.1","nickname":"刘凡
吻","gender":"0","relation":"1"},{"ptId":"719696772","game":"风云","gameid":"50","worldid":"1.1","nickname":"贵族≮杀神
≯","gender":"0","relation":"1"},{"ptId":"713969267","game":"风云","gameid":"50","worldid":"1.1","nickname":"吉米
仔","gender":"0","relation":"1"},{"ptId":"714286741","game":"风云","gameid":"50","worldid":"1.1","nickname":"指定天
下","gender":"0","relation":"1"},{"ptId":"714905671","game":"风云","gameid":"50","worldid":"1.1","nickname":"冰玉※雅
儿","gender":"1","relation":"1"},{"ptId":"719695948","game":"风云","gameid":"50","worldid":"1.1","nickname":"ξψ妹妹
δοο","gender":"1","relation":"1"},{"ptId":"714884563","game":"风云","gameid":"50","worldid":"1.1","nickname":"药王苗子的老
婆","gender":"0","relation":"1"},{"ptId":"714726500","game":"风云","gameid":"50","worldid":"1.1","nickname":"贵族≮Kiss
≯","gender":"0","relation":"32"},{"ptId":"866101129","game":"风云","gameid":"50","worldid":"1.1","nickname":"聂
风","gender":"0","relation":"32"}],"friendCount":"104"}}
这个json字符串可以分为三个类的组合,最外层我命名为results,中间的命名为relationsInfo,最内的命名为Relations,只要明白以上关系就好办了
以下为类定义
----------自定义类---------
[DataContract(Name = "results")]
public class results
{
public class results
{
[DataMember(Name = "id")]
public string id{get ;set ; }
public string id{get ;set ; }
[DataMember(Name = "result")]
public relationsInfo result{get ; set ;}
}
public relationsInfo result{get ; set ;}
}
[DataContract]
public class relationsInfo
{
[DataMember(Name = "relations")]
public Relations[] relations{get; set;}
public class relationsInfo
{
[DataMember(Name = "relations")]
public Relations[] relations{get; set;}
[DataMember(Name = "friendCount")]
public string friendCount{get;set;}
}
public string friendCount{get;set;}
}
[DataContract]
public class Relations
{
private string _gender;
public class Relations
{
private string _gender;
[DataMember(Name = "ptId")]
public string ptId{ get;set;}
public string ptId{ get;set;}
[DataMember(Name = "game")]
public string game{get;set;}
public string game{get;set;}
[DataMember(Name = "gameid")]
public string gameid {get; set;}
public string gameid {get; set;}
[DataMember(Name = "worldid")]
public string worldid{ get;set;}
public string worldid{ get;set;}
[DataMember(Name = "nickname")]
public string nickname{ get;set;}
public string nickname{ get;set;}
[DataMember(Name = "gender")]
public string gender
{
get {
if (_gender == "0")
{
return "男";
}
else
{
return "女";
}
}
set {
this._gender = value;
}
}
public string gender
{
get {
if (_gender == "0")
{
return "男";
}
else
{
return "女";
}
}
set {
this._gender = value;
}
}
[DataMember(Name = "relation")]
public string relation{get;set ;}
public string relation{get;set ;}
}
---------------转换方法-----------
string sRelativeUsersJson; //json来源;
JsonQueryStringConverter convert = new JsonQueryStringConverter();
results relations = new results();
relations = (results)convert.ConvertStringToValue(sRelativeUsersJson, relations.GetType());
relations = (results)convert.ConvertStringToValue(sRelativeUsersJson, relations.GetType());
//或
DataContractJsonSerializer jsr = new DataContractJsonSerializer(typeof(relationsInfo));
System.IO.MemoryStream ms = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(sRelativeUsersJson));
relationsInfo relations = (relationsInfo)jsr.ReadObject(ms);
System.IO.MemoryStream ms = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(sRelativeUsersJson));
relationsInfo relations = (relationsInfo)jsr.ReadObject(ms);