• json.net处理json 天高地厚


    -------------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);
     
     
  • 相关阅读:
    编译原理:正则表达式
    编译原理:基于状态转换图识别for语句
    汇编小笔记
    win10汇编如何debug(小白向)
    nodejs模块引用
    nodejs环境设置理解
    分享几个看上去很酷炫的运算
    JavaScript数据结构 (手打代码)
    爬取煎蛋XXOO妹子图片
    Python Selenium官方文档阅读笔记
  • 原文地址:https://www.cnblogs.com/net2012/p/2874530.html
Copyright © 2020-2023  润新知