1.使用GSON包解析JSON
JSON:JavaScriptObjectNotationJS对象简谱,是一种轻量级的数据交换格式
JSON格式
{"name":"伟杰老师",
"age":18,
"pengyou":["张三","李四","王二","麻子",{
"name":"野马老师","info":"像匹野马一样狂奔在技术钻研的道路上"}],
"heihei":{
"name":"大长刀",
"length":"40m"
}
}
1.1 将Java中的对象快速的转换为JSON格式的字符串
Gson g = new Gson();
//一个实体类Book,包含有参构造方法与无参构造方法,三个属性分别为:id,name,info
Book book = new Book("1233", "gold apple", "金苹果的故事");
String s = g.toJson(book);
System.out.println(s);
1.2 将JSON字符串转换为对象
Gson g = new Gson();
Book book = g.fromJson("{\"id\":\"1233\",\"name\":\"gold apple\",\"info\":\"金苹果 \"}", Book.class);
String s = g.toJson(book);
//需要重写toString方法
System.out.println(book);
1.3 将JSON转换为集合形式
Gson g = new Gson();
//{"id":"1233","name":"gold apple","info":"its to hard to make","page":["MON","TUS","WEN"]}
HashMap h = g.fromJson("{\"id\":\"1233\",\"name\":\"gold apple\",\"info\":\"金苹果\",\"page\":[\"MON\",\"TUS\",\"WEN\"]}", HashMap.class);
List list = (List) h.get("page");
System.out.println(list.get(1));
System.out.println(h.get("page").getClass());
2. 使用阿里的fastjson进行JSON相关操作
2.1 将Java中的对象快速的转换为JSON格式的字符串
Book book = new Book("1234", "zh", "zizhuan");
String s = JSON.toJSONString(book);
System.out.println(s);
2.2 将JSON字符串转换为对象
Book book = JSON.parseObject("{\"id\":\"1233\",\"name\":\"gold apple\",\"info\":\"its to hard to make\",\"page\":[\"MON\",\"TUS\",\"WEN\"]}", Book.class);
//有与book没有page属性,则打印book也不会出现。
System.out.println(book);
//["123","456","789"]
List<String> list = JSON.parseArray("[\"123\",\"456\",\"789\"]", String.class);
System.out.println(list);
2.3 将JSON转换为集合形式
List<String> list = JSON.parseArray("[\"123\",\"456\",\"789\"]", String.class);
System.out.println(list);