文章目录
1. JSON
- JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
- 它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
- 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
- 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
2. JSON 两种格式
2.1 JSON对象
-
JSON 存放的是键值对,键值对之间使用逗号(,)隔开;
-
键和值都是String数据类型,并使用双引号;
//JSON 对象 var stu = {"login_name":"zhangsan","password":"123123"}; alert(stu.login_name) alert(stu.password)
2.2 JSON数组
//JSON数组
var stuArray = [
{"login_name":"zhangsan","password":"123123"},
{"login_name":"lisi","password":"123456"},
{"login_name":"wangwu","password":"000000"}
];
alert(stuArray.length)
for(var i = 0;i<stuArray.length;i++){
alert(stuArray[i].login_name + " , " +stuArray[i].password)
}
3. Fastjson
3.1 阿里巴巴产品
3.2 Maven
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
3.3 使用
User user1 = new User(1, "张三","115224", "13258695858", "[email protected]", "412264867",
"2018-9-9", 1);
List<User> list = new ArrayList<>();
list.add(new User(1, "张三","115224", "13258695858", "[email protected]", "412264867","2018-9-9", 1));
list.add(new User(1, "张三","115224", "13258695858", "[email protected]", "412264867","2018-9-9", 1));
list.add(new User(1, "张三","115224", "13258695858", "[email protected]", "412264867","2018-9-9", 1));
list.add(new User(1, "张三","115224", "13258695858", "[email protected]", "412264867","2018-9-9", 1));
list.add(new User(1, "张三","115224", "13258695858", "[email protected]", "412264867","2018-9-9", 1));
//简单java类转json字符串
String jsonStr = JSON.toJSONString(user1);
System.out.println(jsonStr);
//List<Object>转json字符串
String jsonStr2 = JSON.toJSONString(list);
System.out.println(jsonStr2);
4. Gson
4.1 Google产品
4.2 Maven
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
4.3 使用
// 使用new方法
Gson gson = new Gson();
// toJson 将bean对象转换为json字符串
String jsonStr = gson.toJson(user, User.class);
// fromJson 将json字符串转为bean对象
Student user= gson.fromJson(jsonStr, User.class);
// **序列化List**
String jsonStr2 = gson.toJson(list);
// **反序列化成List时需要使用到TypeToken getType()**
List<User> retList = gson.fromJson(jsonStr2,new TypeToken<List<User>>(){}.getType());