json:是一种轻量级的数据交换格式
json的创建格式:
1.对象格式:{“key”:“value”,“key1”:“value1”}
例如:{ “name”:“金苹果”, “info”:“种苹果” }
2.数组格式:在JSON格式中可以与对象互相嵌套
[元素1,元素2…]
例如{ “pengyou”:[“张三”,“李四”,“王二”,“麻子”] }
Json在java的常见用法
1.将Java中的对象快速的转换为 JSON格式的字符串.
2. 将JSON格式的字符串, 转换为Java的对象.
下面展示一些 gson、fastjson的使用
。
```package demo7;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import java.util.*;
public final class PersonTestFastJson {
public static void main(String[] args) {
//-------------------------将对象转换为JSON字符串
//1. 创建Gson对象
//2. 转换
Person p = new Person("张三",19);
String s = new Gson().toJson(p);
System.out.println(s);
//1.使用list集合创建Gson对象
//2.转换
List<Person> list = new ArrayList<Person>();
list.add(new Person("张三",18));
String s1 = new Gson().toJson(list);
System.out.println(s1);
//1.使用map集合创建Gson对象
//2.转换
Map<String, Object> map = new LinkedHashMap<>();
list.add(new Person("张三",18));
map.put("name", "老王");
map.put("age", 35);
JSONObject json = new JSONObject(map);
System.out.println(json);
//-------------------------------------将JSON字符串转换为对象
//1. 创建Gson对象
Gson g = new Gson();
//2. 转换 : {"name":"张三","age":19}
Person person = g.fromJson("{\"name\":\"张三\",\"age\":\"19\"}", Person.class);
System.out.println(person.getName());
//1. 创建Gson对象
Gson g1 = new Gson();
//2. 转换 : {{"name":"老王","age":35},"page":["锄禾日当午","汗滴禾下土","嘿嘿嘿嘿嘿"]}
HashMap data = g.fromJson("{\"name\":\"老王\",\"age\":\"35\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]}", HashMap.class);
List page = (List) data.get("page");
System.out.println(page.get(2));
}
}