西安网站关键词优化费用,受欢迎的网站建设教程,wordpress顶部图像取消不,2345传奇世界游戏介绍有时候,我们在调用别人接口的时候,服务端返回了一个json格式的字符串,我们要获取json里面的数据的话一般有两种方式: 1.通过正则 2.反序列化成一个对象 第一种方式这里不再多说,主要说一下第二种,(为什么呢#xff0c;你看到后面 你也会喜欢上第二种) 有人肯定会说, json字符串…有时候,我们在调用别人接口的时候,服务端返回了一个json格式的字符串,我们要获取json里面的数据的话一般有两种方式: 1.通过正则 2.反序列化成一个对象 第一种方式这里不再多说,主要说一下第二种,(为什么呢你看到后面 你也会喜欢上第二种) 有人肯定会说, json字符串万一很长很复杂我一个个去写类有这个功夫 我用个正则 程序都已经写完了你还在写对应的类. 是的,我之前也是通过正则的方式获取想要的数据,因为第二种方式我们创建与json相对应的类的话 如果json很复杂那是相当麻烦的一件事. 但是我今天要介绍的是vs的功能让vs帮我们创建与json对应的类,一秒完成.提升了我们N倍的开发效率. 下面来看看吧! 首先我这里来一个json格式的字符串. 该json字符串是百度贴吧签到返回的json {no:0,error:,data:{errno:0,errmsg:success,sign_version:2,is_block:0,finfo:{forum_info:{forum_id:5077715,forum_name:newgame},current_rank_info:{sign_count:820}},uinfo:{user_id:2710692001,is_sign_in:1,user_sign_rank:820,sign_time:1472346974,cont_sign_num:1,total_sign_num:3,cout_total_sing_num:3,hun_sign_num:2,total_resign_num:0,is_org_name:0}}} 是不是非常的复杂,正则写起来也是有点麻烦的根据这个json创建相对应的类的话 更麻烦现在我们让vs帮我们自动创建 1.复制这一段json格式的字符串 2.打开vs 创建一个类. 创建完毕后,点击vs左上方的编辑选择性粘贴将json粘贴为类 3.一秒不到的时间vs已经帮我们生成了对应的类 1 著作权归作者所有。2 商业转载请联系作者获得授权非商业转载请注明出处。3 作者卷猫4 链接http://anneke.cn/ArticleInfo/Detial?id95 来源Anneke.cn6 7 public class Rootobject8 {9 public int no { get; set; }
10 public string error { get; set; }
11 public Data data { get; set; }
12 }
13
14 public class Data
15 {
16 public int errno { get; set; }
17 public string errmsg { get; set; }
18 public int sign_version { get; set; }
19 public int is_block { get; set; }
20 public Finfo finfo { get; set; }
21 public Uinfo uinfo { get; set; }
22 }
23
24 public class Finfo
25 {
26 public Forum_Info forum_info { get; set; }
27 public Current_Rank_Info current_rank_info { get; set; }
28 }
29
30 public class Forum_Info
31 {
32 public int forum_id { get; set; }
33 public string forum_name { get; set; }
34 }
35
36 public class Current_Rank_Info
37 {
38 public int sign_count { get; set; }
39 }
40
41 public class Uinfo
42 {
43 public long user_id { get; set; }
44 public int is_sign_in { get; set; }
45 public int user_sign_rank { get; set; }
46 public int sign_time { get; set; }
47 public int cont_sign_num { get; set; }
48 public int total_sign_num { get; set; }
49 public int cout_total_sing_num { get; set; }
50 public int hun_sign_num { get; set; }
51 public int total_resign_num { get; set; }
52 public int is_org_name { get; set; }
53 } 4.我们使用的话只要进行反序列化就可以了 著作权归作者所有。
商业转载请联系作者获得授权非商业转载请注明出处。
作者卷猫
链接http://anneke.cn/ArticleInfo/Detial?id9
来源Anneke.cnstring json {\no\:0,\error\:\\,\data\:{\errno\:0,\errmsg\:\success\,\sign_version\:2,\is_block\:0,\finfo\:{\forum_info\:{\forum_id\:2781305,\forum_name\:\\u5c81\u7eb3\u4eac\u5b50\},\current_rank_info\:{\sign_count\:307}},\uinfo\:{\user_id\:2710692001,\is_sign_in\:1,\user_sign_rank\:307,\sign_time\:1472345473,\cont_sign_num\:1,\total_sign_num\:2,\cout_total_sing_num\:2,\hun_sign_num\:1,\total_resign_num\:0,\is_org_name\:0}}};Rootobject o new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(json, typeof(Rootobject)) as Rootobject;Console.WriteLine(o.data.errmsg);Console.WriteLine(o.no);Console.ReadKey(); 是不是很方便呢0.0.比正则方便多了吧 你还在写正则的时候我已经获取到了数据 哈哈哈,vs是很强大的. 转载于:https://www.cnblogs.com/zzqvq/p/5814400.html