一. JSON
1.JSON 介绍
JSON 是一种纯字符串形式的数据,它本身不提供任何方法(函数),非常适合在网络中进行传输。JavaScript、PHP、Java、Python、C++ 等编程语言中都内置了处理 JSON 数据的方法。
JSON 是基于 JavaScript的一个子集,是一种开放的、轻量级的数据交换格式,采用独立于编程语言的文本格式来存储和表示数据,易于程序员阅读与编写,同时也易于计算机解析和生成,通常用于在 Web 客户端(浏览器)与 Web 服务器端之间传递数据。
在 JSON 中,使用以下两种方式来表示数据:
Object(对象):键/值对(名称/值)的集合,使用花括号 { } 定义。在每个键/值对中,以键开头,后跟一个冒号:,最后是值。多个键/值对之间使用逗号, 分隔,例如{“name”:“C语言中文网”,“url”:“http://c.biancheng.net”};
Array(数组):值的有序集合,使用方括号 [ ] 定义,数组中每个值之间使用逗号, 进行分隔。
2. 导入依赖
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20211205</version>
</dependency>
3. JSON转对象
Student o = JSONObject.parseObject(jsonString, Student.class);
4. 对象或者List集合转化为JSON
List<Student> studentList = new ArrayList<>();
Student deme1 = new Student();
deme1.setDiscipline("022000000000");
deme1.setLongitude(120.680175);
deme1.setLatitude(31.315544);
studentList.add(deme1);
String s2 = JSON.toJSONString(deme1);//对象转化为json
Student deme2 = new Student();
deme2.setDiscipline("022000000000");
deme2.setLongitude(120.613318);
deme2.setLatitude(31.381417);
studentList.add(deme2);
String s = JSON.toJSONString(studentList);//List转换为json
二. JSONObject
1. JSONObject 介绍
JSONObject只是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构),可以使用put方法给json对象添加元素。JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。
2.通过原生生成json数据格式
JSONObject zhangsan = new JSONObject();
try {
//添加
zhangsan.put("name", "张三");
zhangsan.put("age", 18.4);
zhangsan.put("birthday", "1900-20-03");
zhangsan.put("majar", new String[] {"哈哈","嘿嘿"});
zhangsan.put("null", null);
zhangsan.put("house", false);
System.out.println(zhangsan.toString());
} catch (JSONException e) {
e.printStackTrace();
}
3.通过hashMap数据结构生成
HashMap<String, Object> zhangsan = new HashMap<>();
zhangsan.put("name", "张三");
zhangsan.put("age", 18.4);
zhangsan.put("birthday", "1900-20-03");
zhangsan.put("majar", new String[] {"哈哈","嘿嘿"});
zhangsan.put("null", null);
zhangsan.put("house", false);
System.out.println(new JSONObject(zhangsan).toString());
4.通过实体生成
Student student = new Student();
student.setId(1);
student.setAge("20");
student.setName("张三");
//生成json格式
System.out.println(JSON.toJSON(student));
//对象转成string
String stuString = JSONObject.toJSONString(student);
5.JSON字符串转换成JSON对象
String studentString = "{\"id\":1,\"age\":2,\"name\":\"zhang\"}";
//JSON字符串转换成JSON对象
JSONObject jsonObject1 = JSONObject.parseObject(stuString);
System.out.println(jsonObject1);
6. list对象转listJson
ArrayList<Student> studentLsit = new ArrayList<>();
Student student1 = new Student();
student1.setId(1);
student1.setAge("20");
student1.setName("asdasdasd");
studentLsit.add(student1);
Student student2 = new Student();
student2.setId(2);
student2.setAge("20");
student2.setName("aaaa:;aaa");
studentLsit.add(student2);
//list转json字符串
String string = JSON.toJSON(studentLsit).toString();
System.out.println(string);
//json字符串转listJson格式
JSONArray jsonArray = JSONObject.parseArray(string);
System.out.println(jsonArray);