JSON格式及解析

JSON

JSON:JavaScript Object Notation(JS对象简谱),是一种轻量级的数据交换格式.

对象格式

一本书
    书名
    简介
    
java
	class Book{
		private String name;
		private String info;
		get/set...
	}
js:
	var b=new Object();
	v.name="金苹果";
	v.info="种苹果";
	
XML:
    <book>
         <name>金苹果</name>
         <info>种苹果</info>
    </book>
    
JSON:
    {
       "name":"金苹果",
       "info":"种苹果"
    }
    
一个对象,由一个大括号表示
括号中,通过键值对描述对象的属性(可以理解为,大括号中,包含的是一个个的键值对.)
格式:
    键与值之间使用冒号连接,多个键值对之间使用逗号分隔.
    键应使用引号引住(通常Java解析时,键不使用引号会报错,而JS能正确解析.)
    值可以是JS中的任意类型的数据

数组格式

在JSON格式中可以与对象互相嵌套
[元素1,元素2.....]

案例

{
   "name":"抽卡",
   "age":18,
   "page":["张三","李四",{"name":"接口","info":"老接口了"}]
}

Java中的JSON

将Java中的对象快速的转换为JSON格式的字符串
将JSON格式的字符串,转换为Java的对象

Gson

  • 将对象转换为JSON字符串
转换JSON字符串的步骤:
    1.引入JAR包
    2.在需要转换JSON字符串的位置编写如下代码即可:
        String json=new Gson().toJson(要转换的对象);
        
案例:
    Book b=BooDao.find();
    String json=new Gson().toJson(b);
    System.out.println(json);
  • 将JSON字符串转换为对象
1.引入JAR包
2.在需要转换Java对象的位置,编写如下代码:
      对象=new Gson().fromJson(JSON字符串,对象类型.class);
      
案例:
        //1.创建Gson对象
        Gson g= new Gson();
        //2.转换:{"id":"100","name":"金苹果","info":"种植苹果真辛苦"}
        Book b=g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真辛苦\"}",Book.class);
        System.out.println(b.getId());

FastJson

  • 将对象转换为JSON字符串
步骤:
   1.引入JAR包
   2.在需要转换JSON字符串的位置编写如下代码即可:
       String json=JSON.toJSONString(要转换的对象);
       
案例:
        Book book=new Book("1002","唐诗三百首","床前明月光,地上鞋一堆。床上我杰哥,喊十块一双");
        //转换
        String json= JSON.toJSONString(book);
        System.out.println(json);
  • 将JSON字符串转换为对象
步骤:
   1.引入JAR包
   2.在需要转换Java对象的位置,编写如下代码:
      类型 对象名=JSON.parseObject(JSON字符串,类型.class);
      或
      List<类型> list=JSON.parseArray(JSON字符串,类型.class);
      
案例:
        Book book=JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光,地上鞋一堆。床上我杰哥,喊十块一双\",\"name\":\"唐诗三百首\"}",Book.class);
        System.out.println(book.getId());
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值