JSON, js对象简谱, 是一种轻量级的数据交换格式
对象格式:{"键1":值1, "键2": 值2,... }
比较常用的jar文件:Gson(谷歌), Fastjson(阿里)
先创建一个Book对象,有id,name 和 info 的属性,获取全参的构造方法,get和set方法
public Book(String id, String name, String info) { this.id = id; this.name = name; this.info = info; }
将对象转换为JSON字符串
通过Gson将对象转换为JSON的字符串
import com.google.gson.Gson; public class Demo1 { public static void main(String[] args) { //1. 创建Gson对象 Gson g = new Gson(); //2. 转换 Book b = new Book("100","金苹果","种植苹果好辛苦"); String s = g.toJson(b); System.out.println(s); } }
运行结果:
{"id":"100","name":"金苹果","info":"种植苹果好辛苦"}
通过Fastjson 将对象转换为JSON字符串
import com.alibaba.fastjson.JSON; public class Demo3 { public static void main(String[] args) { Book book = new Book("1002","唐诗三百首","鹅鹅鹅,曲项向天歌"); //1. 转换 String s = JSON.toJSONString(book); System.out.println(s); } }
运行结果:
{"id":"1002","info":"鹅鹅鹅,曲项向天歌","name":"唐诗三百首"}
将JSON字符串转换为对象或MAP集合
import com.google.gson.Gson; import java.util.HashMap; public class Demo2 { public static void main(String[] args) { //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()); HashMap data= g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果好辛苦\"}",HashMap.class); System.out.println(data.get("id")); } }
通过Gson将JSON字符串转成对象或者集合
运行结果
import com.alibaba.fastjson.JSON; import java.util.List; public class Demo4 { public static void main(String[] args) { //1. 转换: {"id":"1002","info":"鹅鹅鹅,曲项向天歌","name":"唐诗三百首"} Book b = JSON.parseObject("{\"id\":\"1002\",\"info\":\"鹅鹅鹅,曲项向天歌\",\"name\":\"唐诗三百首\"}",Book.class); System.out.println(b.getId()); //转换: ["一二三","二三四","三四五"] List<String> s = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class); System.out.println(s.get(1)); } }
通过Fastjson 将JSON字符串转换成对象或者集合
运行结果: