阿里的FastJson
-
JSON简介:JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式。
-
在Java中的格式:(尖括号括起来,内容相当于键值对key:value,不过key和value在Java中都是字符串,多个之间用逗号隔开)
{ “name”:“金苹果”, “info”:“种苹果” }
-
数组格式:在JSON格式中可以与对象互相嵌套
-
FastJSON的应用:
将对象转换为JSON字符串
- 引入JAR包
- 在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);
该方法将对象转换为JSON字符串
public class Demo1 {
public static void main(String[] args) {
//编写一个Book类,设置id,name,info属性并设置getter,setter...
Book book = new Book("001","唐诗三百首","大唐盛世");
//1. 转换
String json = JSON.toJSONString(book);
System.out.println(json);
}
}
将JSON字符串转换为对象
- 引入JAR包
- 在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
将JSON字符串转换为对象
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
将JSON字符串转换为存放引用数据类型的数组集合
public class Demo2 {
public static void main(String[] args) {
//1.转换为对象 转换 : {"id":"1002","info":"床前明月光,地上鞋一堆。床上我杰哥,喊十块钱一双。","name":"唐诗三百首"}
Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光。\",\"name\":\"唐诗三百首\"}", Book.class);
System.out.println(book.getId());
//1.转换为存放引用类型的数组集合 转换 : ["一二三","二三四","三四五"]
List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]", String.class);
System.out.println(strings.get(1));
}
}
- 创建 JSON 对象
创建 JSON 对象非常简单,只需使用 JSONObject(fastJson提供的json对象) 和 JSONArray(fastJson提供json数组对象) 对象即可。
1.我们可以把JSONObject 当成一个 Map<String,Object> 来看,只是 JSONObject 提供了更为丰富便捷的方法,方便我们对于对象属性的操作。
2.同样我们可以把 JSONArray 当做一个 List,可以把 JSONArray 看成 JSONObject 对象的一个集合。
- 向JSON中添加数据(使用对象的put方法)
JSONObject json = new JSONObject();
json.put("key", "value");