json.net处理复杂json

本文深入探讨了游戏开发领域的关键技术,包括游戏引擎、编程语言、硬件优化等,并重点阐述了AI音视频处理的应用场景和实现方法,如语义识别、物体检测、语音变声等。
-------------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
    {
        [DataMember(Name = "id")]
        public string id{get ;set ; }
 
        [DataMember(Name = "result")]
        public relationsInfo result{get ;  set ;}
    }
 
      [DataContract]
    public class relationsInfo
    {
        [DataMember(Name = "relations")]
        public Relations[] relations{get; set;}
 
        [DataMember(Name = "friendCount")]
        public string friendCount{get;set;}
    }
 
     [DataContract]
    public class Relations
    {
        private string _gender;
       
        [DataMember(Name = "ptId")]
        public string ptId{ get;set;}
 
        [DataMember(Name = "game")]
        public string game{get;set;}
 
        [DataMember(Name = "gameid")]
        public string gameid {get; set;}
 
        [DataMember(Name = "worldid")]
        public string worldid{ get;set;}
 
        [DataMember(Name = "nickname")]
        public string nickname{  get;set;}
 
        [DataMember(Name = "gender")]
        public string gender
        {
            get {
                if (_gender == "0")
                {
                    return "男";
                }
                else
                {
                    return "女";
                }
            }
            set {
                this._gender = value;
            }
        }
 
        [DataMember(Name = "relation")]
        public string relation{get;set ;}
    }
---------------转换方法-----------
 string sRelativeUsersJson; //json来源;
 JsonQueryStringConverter convert = new JsonQueryStringConverter();
 results relations = new results();
 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);
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值