【14】JSON

1. JSON

  1. JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
  2. 它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
  3. 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
  4. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

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());

猜你喜欢

转载自blog.csdn.net/Spectre_win/article/details/89087663
14