JSON小结

JSON小结
1.JSON简介:JSON(JavaScript Object Noatation)基于JavaSript语言的轻量级的书籍交换格式。
传输数据的前后端中的reponse的回复方式,现在基本采用json的格式,渐渐的代替了XML。
2.JSON的数据表示
JSON采用名值对的方式来表示一个对象的信息,同时,支持无限层嵌套。
JSON对象:{name1:value1,name2:value2…}
JSON数组:[{},{},{}]
JSON的本质:
JSON就是一串字符串 只不过元素会使用特定的符号标注。
{} 双括号表示对象
[] 中括号表示数组
[{‘name’:‘hgz’,‘phones’:[{‘type’:‘6’,‘price’:1999}] },{‘name’:‘czt’}]
“” 双引号或’’单引号内是属性或值
: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)
所以 {“name”: “Michael”} 可以理解为是一个包含name为Michael的对象
而[{“name”: “Michael”},{“name”: “Jerry”}]就表示包含两个对象的数组。
3.需要导入jar相应的包
4.使用
将对象转为JSON格式

  • 第一步:创建需要转换的对象
  •      //将对象转换为JSON
     	 Book book = new Book("Python从入门到入土",23,new Author("御龙在天","从事Python开发20年"));
    
  • 第二步:创建过滤器JsonConfig()
  •  	 //创建过滤器
     	 JsonConfig jsonConfig = new JsonConfig();
    
    第三步:設置过滤器内容
    jsonConfig.setExcludes(new String[]{“info”,“price”});
    第四步:将对象转换为JSON格式
    //转换
    JSONObject json = JSONObject.fromObject(book, jsonConfig);

将数组对象转为JSON格式

  • 第一步:创建相应对象放进数组
  •   Book book1 = new Book("MySQL从删库到跑路",21,new Author("飞龙在天1","你在弄啥呢"));
      Book book2 = new Book("Java从入门到放弃",14,new Author("玉龙在地","hahahahah"));
      Book[] books = {book1,book2};
    
  • 第二步:创建过滤器
  •  JsonConfig jsonConfig = new JsonConfig();
    
  • 第三步:设置过滤内容
  •  jsonConfig.setExcludes(new String[]{"price"});
    
  • 第四步:装换 将数组转换为JSON格式 用的是JSonArray类
  •  //转换
     JSONArray jsonArray = JSONArray.fromObject(books,jsonConfig);
    

将JSON字符串转换为对象、数组

  • 第一步:创建json字符串
  •  	String json = "{'author':{'info':'从事数据库开发近30年','name':'伍科'},'name':'MySQL从删库到跑路','price':18.18}";
    
  • 第二步:将json字符串转换为JSONobject对象(数组:JSONArray对象)
  • 		 //将json字符串转换为JSONObject对象
    
  •    JSONObject jsonObject = JSONObject.fromObject(json);
    
  •    //将字符串转换为JSONArray对象
      JSONArray jsonArray = JSONArray.fromObject(json);
    
  • 第三步:将JsonObjec对象转换为想要的对象(数组)
  •  对象:   Book book = (Book)jsonObject.toBean(jsonObject, Book.class);
    
  •  数组://把JSONArray对象转换为book数组
     		Book[] bs = (Book[]) JSONArray.toArray(jsonArray, Book.class);
    
     		for (Book book : bs) {
     			System.out.println(book);
     			}
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值