JSON基本使用

JSON: JavaScript Object Notation JS 对象简谱 , 是一种轻量级的数据交换格式。
java与josn 做什么 ?
Java 中的对象 快速的转换为 JSON 格式的字符串 .
JSON 格式的字符串 , 转换为 Java 的对象 .

json语法规则:

json:

​

{ 
        "name":"金苹果",
        "info":"种苹果",
        "pengyou":["张三","李四","王二","麻子",{ 
                    "name":"野马老师", 
                    "info":"像匹野马一样狂奔在技术钻研的道路上" 
                  }]
}

一个对象(0bject), 由一个大括号({})表示,大括号中,描述对象的属性;
通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对.) 

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

格式:
1、键与值之间使用冒号连接, 多个键值对之间使用逗号分隔. 
2、键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.) 
3、键值对的值, 可以是JS中的任意类型的数据


​

Gson的JSON操作:

将对象转换为JSON字符串的步骤:


1.引入gson.jar包
2.创建Gson对象
3.转换JSON格式  调用gson.toJson(要转换的对象);

案例:
Gson gson = new Gson();
Book b = BookDao.find();
String json = gson.toJson(b);
System.out.println(json);


​

JSON字符串转换为对象


1. 引入gson.jar包 
2.创建Gson对象
3.转换Java对象: 类型 对象 = gson.fromJson(JSON字符串,对象类型.class); 

案例:
Gson gson = new Gson();
String json = "{\"name\":\"白雪公主\",\"info\":\"讲述的是白雪公主与七个小矮人的故事\",\"id\":\"1001\"}"; 
Book book = gson.fromJson(json,Book.class); 
System.out.println(book);

注意:
JOSB数组转换为对象是一个数组(ArrayList)类型

FastJson的JSON操作:

将对象转换为JSON字符串的步骤:


转换JSON字符串的步骤: 
1. 引入fastjson.jar包 
2. 转换JSON字符串: JSON.toJSONString(要转换的对象); 

案例:
Book b = BookDao.find(); 
String json=JSON.toJSONString(b); 
System.out.println(json);

​

JSON字符串转换为对象:

1. 引入fastjson.jar包 
2. 在需要转换Java对象的位置, 编写如下代码: 
类型 对象名=JSON.parseObject(JSON字符串, 类型.class); 
或 List<类型> list=JSON.parseArray(JSON字符串,类型.class); 

案例1:(转为对象)
String json = "{\"name\":\"白雪公主\",\"info\":\"讲述的是白雪公主与七个小矮人的故事\",\"id\":\"1001\"}";
Book book = JSON.parseObject(json, Book.class); 
System.out.println(book);

案例2:(转为数组)
String text = "[\"白雪公主\",\"灰姑凉\",\"卖火柴的小姑娘\"]";
List<String> list = JSON.parseArray(text, String.class);
System.out.println(list.get(1));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值