JSON 指的是 JavaScript 对象表示法,其是一种轻量级的文本数据交换格式。JSON独立于语言, 使用 Javascript语法来描述数据对象,JSON 解析器和 JSON 库支持许多不同的编程语言。JSON具有自我描述性,更易于理解。
JSON格式通常为键值对集合和有序列表:
JSON的键值对集合对象是一个无序的“‘名称/值’对”集合。一个对象以“{”开始,“}”结束。每个“名称”后跟一个“:” ,“ ‘名称/值’ 对”之间使用“,”分隔。格式如下:var json = {“name”:”Jack”,”age”:21,”isGlass”:true};
而有序列表是值的有序集合。一个数组以“[”开始,“]”结束。值之间使用“,”分隔。格式如下:var json = [“Jack”,”Rose”,”Tom”,89,true,false];
我们可以将java中的对象转换为JSON对象,也可以反过来将JSON对象转换为JAVA对象,以下是常见的几种转换的方法:
private static void map2JSON(){
//java的Map对象转换JSON对象
Map<String,Object> map = new HashMap<>();
map.put("id",1);
map.put("name","赵一");
map.put("birthday",new Date());
map.put("id",2);
map.put("name","王二");
map.put("birthday",new Date());
String jsonString = JSON.toJSONString(map);
JSONObject jsonObject = (JSONObject) JSON.toJSON(map);
System.out.println(jsonString);
System.out.println(jsonObject);
}
private static void list2JSON(){
//java的List对象转JSON对象
List<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
String jsonString = JSON.toJSONString(list);
JSONArray jSONArray = (JSONArray) JSONArray.toJSON(list);
System.out.println(jsonString);
System.out.println(jSONArray);
}
private static void JSON2Map(){
//JSON对象转换位java的Map对象
JSONObject jsonObject = new JSONObject();
jsonObject.put("id",1);
jsonObject.put("姓名","2b");
jsonObject.put("生日",new Date());
String jsonString = jsonObject.toJSONString();
Map<String,Object> map1 = JSON.parseObject(jsonString, Map.class);
System.out.println(map1);
}
private static void JSON2Array(){
//JSON对象转换为java的List对象
JSONArray jsonArray = new JSONArray();
jsonArray.add("1a");
jsonArray.add("2b");
jsonArray.add("3c");
jsonArray.add("4d");
String jsonString = jsonArray.toJSONString();
List<String> list = JSONArray.parseArray(jsonString, String.class);
System.out.println(list);
}
private static void JSON2Person(){
//JSON对象转换为Java的javabean对象
JSONObject jsonObject = new JSONObject();
jsonObject.put("id",16);
jsonObject.put("name","浩二");
jsonObject.put("birthday",new Date());
String jsonString = jsonObject.toJSONString();
System.out.println(jsonString);
Person person = JSONObject.parseObject(jsonString, Person.class);
System.out.println(person);
}