Json
文章目录
1、概念
是一种数据的交换格式,也是一种数据的交换标准,主要用于浏览器和服务器之间的数据交互
格式:{“属性名称”:属性值}
比如我们希望把一个java对象传递给浏览器的js对象
// java
class Person{
String name;
int age;
}
// json
{"name":"张三","age":22}
对于嵌套的类的数据传输也是相当方便
// java
class Address{
String city;
String address
}
class Person{
String name;
int age;
Address address;
}
// json
{"name":"张三","age":22,"address":{"城市":"武汉市","街道":"友谊大道"}}
2、FastJson
Fastjson:是由阿里巴巴工程师基于java写的解析json的
maven:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
基本使用:
public class CityTest {
public static void main(String[] args) {
City c = new City("武汉","wh");
// 将java对象转为json对象----->字符串
String cityJson = JSON.toJSONString(c);
System.out.println(cityJson);
// 将java数组转为JSON
City c2 = new City("上海","sh");
City[] cities = {c,c2};
String cityJson2 = JSON.toJSONString(cities);
System.out.println(cityJson2);
// 将java集合类型转化为JSON
List<City> list = new ArrayList<>();
list.add(c);
list.add(c2);
String s = JSON.toJSONString(list);
System.out.println(s);
// 反过来,将json转为java对象
City c3 = JSON.parseObject("{\"cityValue\":\"wh\",\"name\":\"武汉\"}",City.class);
System.out.println(c3);
// 注意集合的解析
List<City> list1 = JSON.parseObject("[{\"cityValue\":\"wh\",\"name\":\"武汉\"},{\"cityValue\":\"sh\",\"name\":\"上海\"}]"
,new TypeReference<ArrayList<City>>(){});
System.out.println(list1);
}
}