目录
1.关于json
JSON是一种轻量级的数据交换格式。它由Douglas Crockford在2001年创造。JSON的全称是JavaScript Object Notation,它是一种文本格式,可以轻松地在各种平台之间传递数据。JSON通常用于前端与后端之间的数据交互。在后端,我们可以使用许多语言来处理JSON格式的数据,包括Java、Python、PHP等。
2.实现方式
实际操作中,将java对象转换为json字符串格式,大多是借助第三方库,这里介绍三种
1.Gson
相关依赖:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
java核心代码:
Book book = new Book();
book.setId(90);
book.setName("Success of mindset");
book.setPrice(88.8);
// 核心部分
Gson gson = new GsonBuilder().create();
String json = gson.toJson(book);
System.out.println(json);
// 这里的book是我的一个对象实例
结果如下:
2.jackson
相关依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.16.0</version>
</dependency>
java核心代码:
Book book = new Book();
book.setId(90);
book.setName("Success of mindset");
book.setPrice(88.8);
//核心部分
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(book);//这里要抛出 JsonProcessingException的异常
System.out.println(json);
结果如下:
3.fastjson
相关依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
java核心代码:
Book book = new Book();
book.setId(90);
book.setName("Success of mindset");
book.setPrice(88.8);
//核心部分
String json = JSONArray.toJSONString(book);
System.out.println(json);
结果如下:
3.与前端的联系
在后端成功将所需传输对象转换为json字符串格式后,便可以此传递给前端,进而让浏览器去响应json数据
例如在Servlet中,设置响应头content-type:
resp.setContentType("application/json");
resp.setCharacterEncoding("UTF-8");
然后再向客户端发送 JSON 数据的代码,即将 JSON 数据写入到 PrintWriter
对象中,并将其发送到客户端。最终,客户端将收到 JSON 数据并进行相应的处理:
PrintWriter out = response.getWriter();
out.write(json);