JSON入门

91 阅读1分钟

JSON介绍

  • JavaScript Object Notation(JavaScript对象表示法)
  • JSON是轻量级的文本数据交换格式
  • JSON独立于语言,具有自我描述性,更易理解

JSON 语法规则

  • 数据由键(key)/值(value)描述,由逗号分隔
  • 大括号代表一个完整的对象,拥有多个键/值对
  • 中括号保存数组,多个对象之间使用逗号分隔

JSON与字符串互相转换

  • JSON.parse()方法将字符串转换为JSON对象
  • JSON.stringify()方法将JSON对象转换为字符串

JSON与Java交互

  • Java的JSON工具包还有FastJson、Jackson、 Gson、 Json-lib...
  • FastJson是阿里巴巴著名的JSON序列化与反序列工具包
  • FastJson国内拥有大量使用者,拥有AP|简单,效率高等优点

注解

//@JSONField(format="yyyy-MM-dd HH:mm:ss SSS")
@JSONField(name = "hiredate" , format="yyyy-MM-dd")  //显示key的值
===========java转json================
//FastJSON中提供了JSON对象,完成对象与JSON字符串的互相转换
String json = JSON.toJSONString(employee);
===========json转java================
Employee emp = JSON.parseObject(json, Employee.class);
============数组=====================
public class FastJsonSample2 {
	public static void main(String[] args) {
		List emplist = new ArrayList();
		for (int i = 1 ; i <= 100 ; i++) {
			Employee employee = new Employee();
			employee.setEmpno(4488 + i);
			employee.setEname("员工" + i);
			emplist.add(employee);
		}
		String json = JSON.toJSONString(emplist);
		System.out.println(json);
		List<Employee> emps = JSON.parseArray(json , Employee.class);
		for(Employee e : emps) {
			System.out.println(e.getEmpno() + ":" + e.getEname());
		}
	}
}