当前位置: 首页 > news >正文

佛山企业网站设计企业模块

佛山企业网站设计,企业模块,开发微信小程序用什么语言,在线收录​ JSON现在常用来做前后端数据交互#xff0c;两个蝴蝶飞只是简单的对JSON做一下讲解和简单使用。关于JSON,我还了解的远远不够。由于本人经验有限#xff0c;嘴皮子不溜#xff0c;所以学术性#xff0c;概念性#xff0c;底层性的知识点暂时不做介绍。文章中有错误之处…​ JSON现在常用来做前后端数据交互两个蝴蝶飞只是简单的对JSON做一下讲解和简单使用。关于JSON,我还了解的远远不够。由于本人经验有限嘴皮子不溜所以学术性概念性底层性的知识点暂时不做介绍。文章中有错误之处欢迎拍砖和指点。在此特别向阿里团队表示感谢谢谢他们开发出了FastJSON这么好用的Jar包并且免费开源出来。 两个蝴蝶飞只是粗浅的谈一下使用非常抱歉未能理解前辈们深邃的思想。 上一章简单介绍了JSON简介及前端简单解析一,如果没有看过请观看上一章 一 FastJSON简短介绍 JSON协议使用方便越来越流行,JSON的处理器有很多,这里我介绍一下FastJson,FastJson是阿里的开源框架,被不少企业使用,是一个极其优秀的Json框架。 FastJson的特点: 1.FastJson数度快,无论序列化和反序列化,都是当之无愧的fast 2.功能强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum) 3.零依赖(没有依赖其它任何类库) 首先要下载fastjson的jar包。github地址: https://github.com/alibaba/fastjson 这里只牵扯到后端方面用Junit4框架进行测试 二 FastJSON三个类的简单介绍 FastJSON包中有三个常用的对象,JSON,JSONObject,JSONArray三个对象。 二.一 JSON类 public abstract class JSON implements JSONStreamAware, JSONAware{}JSON类实现了JSONStreamAware和JSONAware接口。 JSONAware接口: package com.alibaba.fastjson; public abstract interface JSONAware {//转换成JSON类型的字符串public abstract String toJSONString(); }JSONStreamAware接口: public abstract interface JSONStreamAware //JSON流Aware 能力 {// 向里面写Appendable, 追加。 转换成JSON字符串public abstract void writeJSONString(Appendable paramAppendable)throws IOException; }Appendable接口: public interface Appendable { //添加字符串Appendable append(CharSequence csq) throws IOException; //添加的字符串可以截取 start,endAppendable append(CharSequence csq, int start, int end) throws IOException; //添加单个字符Appendable append(char c) throws IOException; }二.二 JSONObject 类 public class JSONObject extends JSONimplements MapString, Object, Cloneable, Serializable, InvocationHandler{}JSONObject类继承了JSON类实现了Map接口Cloneable(克隆接口),序列化(Serializable),InvocationHandler(调用处理器) InvocationHandler.java public Object invoke(Object proxy, Method method, Object[] args)throws Throwable;默认值为16。 所以JSONObject主要存储的方式是以MapKey,Value的形式进行相应的存储。存储的是单值形式。 构造方法: public JSONObject(MapString, Object map) {this.map map;}二.三 JSONArray类 public class JSONArray extends JSONimplements ListObject, Cloneable, RandomAccess, Serializable{}JSONArray类也继承了JSON类 实现了List接口Cloneable克隆接口Serializable 序列化接口,RandomAccess接口。 public interface RandomAccess {}实现了List接口是以数组的形式进行相应的存储。 构造方法: public JSONArray(ListObject list) {this.list list;}JSONObject和JSONArray均实现了JSON类故一般都是用子类即单值用JSONObject,集合用JSONArray。 三 JSONObject类的具体使用 三.一 转换成普通字符串格式 转换的格式为: var obj{“name”:“两个蝴蝶飞”,“age”:24,“sex”:“男”}; 代码为: /*** 一个普通的字符串格式.* var obj{name:两个蝴蝶飞,age:24,sex:男};* 用JSONObject进行添加.*/Testpublic void testString1(){//空构造JSONObject jsonnew JSONObject();//内部使用的是map结构,put放置值json.put(id,1);json.put(name,两个蝴蝶飞);json.put(age,24);json.put(sex,男);//转换成json字符串. toJSONString()String resultjson.toJSONString();System.out.println(result);}是字符串格式。 三.二 将JSON字符串进行解析取值 Test/** 解析JSON字符串* {name:两个蝴蝶飞,age:24,sex:男};*/public void testToString1(){String source{name:两个蝴蝶飞,age:24,sex:男};//利用静态方法parseObject(source),将要解析的资源放进去JSONObject jsonJSON.parseObject(source);//取得数据时 可以取得具体的类型System.out.println(json.getIntValue(age));System.out.println(json.getString(sex));System.out.println(json.getString(name));}三.三 利用Map显式放置值 Test/*** 前面带一个前缀. 用添加Map* {person:{name:两个蝴蝶飞,age:24,sex:男}}*/public void testString2(){MapString,Object mapnew HashMapString,Object();map.put(name,岳建立);map.put(age,24);map.put(sex,男);JSONObject jsonnew JSONObject();json.put(person,map);String resultjson.toJSONString();System.out.println(result);//如果不要前缀可以直接 {name:两个蝴蝶飞,age:24,sex:男}//System.out.println(JSON.toJSONString(map));}三.四 取出Map中的值 Testpublic void testToString2(){String source{\person\:{\sex\:\男\,\name\:\岳建立\,\age\:24}};JSONObject jsonJSON.parseObject(source);System.out.println(json.getString(person));// {name:两个蝴蝶飞,age:24,sex:男}//继续取出JSONObject json2JSON.parseObject(json.getString(person));System.out.println(json2.getString(name));System.out.println(json2.getString(sex));System.out.println(json2.getIntValue(age));}四 JSONArray的使用 如果属性过多的话那么就需要用一个User类进行相应的封装了。即开始引入对象了。 引入相应的User的类 package com.fastjson.pojo; /***author 作者 两个蝴蝶飞*version 创建时间 2018年9月16日下午3:42:37 */ public class User {private int id;private String name;private int age;private String sex;private String content;public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex sex;}public int getId() {return id;}public void setId(int id) {this.id id;}public String getContent() {return content;}public void setContent(String content) {this.content content;}Overridepublic String toString() {return User [id id , name name , age age ];} }四.一 JSONArray 配置单个JavaBean类 前缀没有用key值: Test/*** 将一个单对象转换成JSON格式* {age:24,content:一个小小的程序员,id:1,name:两个蝴蝶飞,sex:男}*/public void testUser1(){User usernew User();user.setId(1);user.setName(两个蝴蝶飞);user.setSex(男);user.setAge(24);user.setContent(一个小小的程序员);//直接用JSON.toJSONString(); toJSONString(user)String resultJSON.toJSONString(user);System.out.println(result);}前缀有key值 Test public void testUser1(){User usernew User();user.setId(1);user.setName(两个蝴蝶飞);user.setSex(男);user.setAge(24);user.setContent(一个小小的程序员);//用JSONObjectJSONObject jsonnew JSONObject();json.put(user,user);String resultjson.toJSONString();System.out.println(result);}取出没有key值的Java Bean Testpublic void testToUser4(){String source{\age\:24,\content\:\一个小小的程序员\,\id\:1,\name\:\两个蝴蝶飞\,\sex\:\男\};//直接转换成对象User user1JSON.parseObject(source,User.class);System.out.println(user1);}取出有key值的的Java Bean Testpublic void testToUser1(){String source{\user\:{\age\:24,\content\:\一个小小的程序员\,\id\:1,\name\:\两个蝴蝶飞\,\sex\:\男\}};//直接转换成对象//先取出后面的值String resultJSON.parseObject(source).getString(user); //继承转换User user1JSON.parseObject(result,User.class);System.out.println(user1);}四.二 JSONArray 配置List 集合 Test//将一个对象数组集合添加到JSON中用JSONArray/*{persons:[{age:0,content:小小的程序员而已0,id:0,name:两个蝴蝶飞0,sex:男},{age:0,content:小小的程序员而已1,id:1,name:两个蝴蝶飞1,sex:女},{age:0,content:小小的程序员而已2,id:2,name:两个蝴蝶飞2,sex:男}]}*/public void testUser2(){ListUser users new ArrayListUser(); for (int i 0; i 3; i) { User u new User(); u.setId((i));u.setName(两个蝴蝶飞i);u.setContent(小小的程序员而已i);u.setSex(i % 2 0 ? 男 : 女); users.add(u); }//String resultJSON.toJSONString(users);JSONObject jsonnew JSONObject();json.put(persons,users);String resultjson.toJSONString();System.out.println(result);}解析List集合 Testpublic void testToUser2(){String resource{\list\:[{\id\:0,\name\:\两个蝴蝶飞0\,\sex\:\男\} {\id\:1,\name\:\两个蝴蝶飞1\,\sex\:\女\},{\id\:2,\name\:\两个蝴蝶飞2\,\sex\:\男\}]};String textJSON.parseObject(resource).getString(list);//现在,这已经是一个数组了.如何将数组进行解析呢? 用JSONArrayJSONArray arraysJSON.parseArray(text);ListUser allListnew ArrayListUser();for(int i0;iarrays.size();i){//用toJavaObject toJavaObjectUser uJSON.toJavaObject(arrays.getJSONObject(i),User.class);allList.add(u);}for (User user : allList) {System.out.println(user.getId(),user.getName());}}这是常用的几种解析方式。谢谢 解析成功谢谢!!! ​
http://www.zqtcl.cn/news/858348/

相关文章:

  • 网站建设 总体思路福州建设高端网站
  • 做网站需要什么配置北京工信部网站备案查询
  • 奇信建设集团官方网站专题网站建站
  • 站点推广策略包括黄山旅游必去十大景点
  • 佛山龙江做网站的信宜做网站
  • 推广自己的网站需要怎么做wordpress 正计时
  • 做网站工资怎么样织梦的官方网站
  • python制作视频网站开发互动网站建设公司
  • 网站软文代写广西网站设计公司排行榜
  • c2c网站代表和网址mirages WordPress
  • 网站建设开发案例教程wordpress中国区官方论坛
  • 王晴儿网站建设做啊录音网站
  • 网站开发版本号正规的企业网站建设公司
  • 中国做网站正邦温州网站建设方案服务
  • 南通网站关键词优化wordpress做小程序
  • 上海企业网站seo多少钱做网站图片链接到天猫
  • 属于教育主管部门建设的专题资源网站是广西壮锦网站建设策划书
  • 云南网站制作一条龙网站建设公司对比分析报告
  • 手机网站客户端网站语言有几种
  • 做网站怎么选取关键词中企动力销售陪酒多吗
  • 新网站做内链雅虎网站收录提交入口
  • 简述建设一个网站的具体过程接做名片的网站
  • 怎样建立自己网站网站产品数据如何恢复
  • 用wordpress建立电商网站用Off做网站
  • 网站建设公司不赚钱ui设计软件培训学校
  • 网站项目策划书模板wordpress修改模版
  • 房地产手机网站模板电脑建立网站
  • 网站自适应手机代码网络服务机构的网站
  • 系统网站重庆智能建站模板
  • wordpress适合优化吗宝塔 wordpress优化