![](https://img-blog.csdnimg.cn/img_convert/e86fdafed1f84ed1b33ef7132d2c2ef8.png)
1.JSON基础语法
![](https://img-blog.csdnimg.cn/img_convert/33e298844bcd4e3d554c65eaae804bf6.png)
![](https://img-blog.csdnimg.cn/img_convert/5ce187d094550bf38fb700847e9676ed.png)
2.JSON数据和Java对象转换
![](https://img-blog.csdnimg.cn/img_convert/55cc6b1280360269a4416007e92a20b3.png)
2.1 Fastjson 概述
Fastjson 是阿里巴巴提供的一个Java语言编写的高性能功能完善的 JSON 库,是目前Java语言中最快的 JSON 库,可以实现 Java 对象和 JSON 字符串的相互转换。
2.2 Fastjson 使用
导入坐标
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
Java对象转JSON
StringjsonStr =JSON.toJSONString(obj);
将 Java 对象转换为 JSON 串,只需要使用 Fastjson 提供的 JSON 类中的 toJSONString() 静态方法即可。
JSON字符串转Java对象
User user =JSON.parseObject(jsonStr,User.class);
将 json 转换为 Java 对象,只需要使用 Fastjson 提供的 JSON 类中的 parseObject() 静态方法即可。
3.案例
![](https://img-blog.csdnimg.cn/img_convert/758a41d61565e5bb5e70a6fa45a355ad.png)
![](https://img-blog.csdnimg.cn/img_convert/d07dedb86f6723644cd72d1ccd20c502.png)
![](https://img-blog.csdnimg.cn/img_convert/0eb2591341edd14dc29be04de2a5c8d6.png)
![](https://img-blog.csdnimg.cn/img_convert/1eb0a3b8e2c23860f015ddab0b81fbe9.png)
![](https://img-blog.csdnimg.cn/img_convert/d30b21e7f2c6e386951cac65b737faa6.png)
AddServlet 代码如下:
@WebServlet("/addServlet")
Public class AddServlet extends HttpServlet{
Private BrandService brandService = new BrandService();
@Override
Protected void doGet ( HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
//1. 接收数据,request.getParameter 不能接收json的数据
/* String brandName =request.getParameter("brandName");
System.out.println(brandName);*/
// 获取请求体数据
BufferedReaderbr =request.getReader();
Stringparams =br.readLine();
// 将JSON字符串转为Java对象
Brandbrand =JSON.parseObject(params,Brand.class);
//2. 调用service 添加
brandService.add(brand);
//3. 响应成功标识response.getWriter().write("success");
}
@Override
Protected void doPost(HttpServletRequest request,HttpServletResponseresponse throwsServletException,IOException{
this.doGet(request,response);
}
}
![](https://img-blog.csdnimg.cn/img_convert/0d3d31fccad083937369cd8b54cf8793.png)
![](https://img-blog.csdnimg.cn/img_convert/81afbf5b3a646e3e4efef8b1931486eb.png)
![](https://img-blog.csdnimg.cn/img_convert/3798f62a9286e5f0c720100436dcfaf8.png)
说明:
查询所有 功能和 添加品牌 功能就全部实现,大家肯定会感觉前端的代码很复杂;而这只是暂时的,后面学习了 vue 前端框
架后,这部分前端代码就可以进行很大程度的简化。