一、JSON
1、JSON简介
JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
2、对象格式
JSON:
{ “name”:“一个人就一个人”, “info”:“单身贵族” }
一个对象,由一个大括号表示;括号中描述对象的属性,通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对) 格式:键与值之间使用冒号连接, 多个键值对之间使用逗号分隔。
3、数组格式
JSON格式中,乐意与对象相互嵌套
[ 元素1,元素2…]
二、JSON与Java对象
1、应用
将Java中的对象,快速的转换为 JSON格式的字符串;将JSON格式的字符串, 转换为Java的对象。
2、转换方式
1、Gson
1、将对象转化为JSON字符串
Gson g=new Gson();
Book b=new Book("jing","ping","guo");
//{"name":"jing","info":"ping","hh":"guo"}
String text=g.toJson(b);
System.out.println(text);
2、将字符串转化为Java对象
Book b1=g.fromJson("{\"name\":\"jing\",\"info\":\"ping\",\"hh\":\"guo\"}",Book.class);
System.out.println(b1.getInfo());
3、若属性中存在数组对象,解析这一数组
HashMap data = g.fromJson("{\"name\":[\"jing\",\"jingjing\"],\"info\":\"ping\",\"hh\":\"guo\"}", HashMap.class);
List page =(List)data.get("name");
System.out.println(page.get(1));
System.out.println(data.get("name"));
2、Fastjson
1、将对象转化为JSON字符串
Book book=new Book("围着转","朋友","你来了");
//{"hh":"你来了","info":"朋友","name":"围着转"}
String string = JSON.toJSONString(book);
System.out.println(string);
2、将字符串转化为Java对象
Book book1 = JSON.parseObject("{\"hh\":\"你来了\",\"info\":\"朋友\",\"name\":\"围着转\"}", Book.class);
System.out.println(book1.getHh());
3、若属性中存在数组对象,解析这一数组
//json中的嵌套
List<String> strings = JSON.parseArray("[\"1\",\"2\",\"3\"]", String.class);
System.out.println(strings.get(1));