本文主要是介绍springboot项目中使用JOSN解析库的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN...
一、JSON解析简介
在当下流行的前后端分China编程离的项目中,传递数据时不可或缺的。为了保证在传递数据的过程中不丢失信息,就需要一种让前端和后端都识别的传递数据的格式,这种传递数据的格式就是JSON。其中,前端需要的是以“键:值”结构保存的JSON数据,后端需要的是JavaBean。
JSON,全程是javascript Object Notation,是一种轻量级的数据交换格式。所谓数据交换格式,指的是前端和后端之间传递数据的格式。
相比于XML格式,JSON是轻量级的。
JSON格式例子:
{“name”:“sun”} { “name”:“sun”, “age”:22 } {“arr”:[1,2,3,4]} {“people”:{“id”:111,“name”:“sun”,“age”:22}}
对于一个前后端分离的Spring Boot项目而言,前端需要的是以“键:值”结构保存的JSON数据,后端需要的是JavaBean,这就需要使用json解析库实现序列化与反序列化。
序列化指的是JavaBean转化为JSON数据,反序列化反之。
当前常用的两种JSON解析库,一种是Spring Boot内置的Jackson,另一种是由阿里巴巴开发的FastJson。
下面程序实例使用FastJson编程举例。
二、Spring Boot项目中使用JSON解析
1、pom.xml文件引入依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.9</version> </dependency>
整体pom.xml文件内容
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.0</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.mr</groupId> <artifactId>_20250603spring_fastjson</artifactId> <version>0.0.1-SNAPSHOT</version> <name>20250603spring_fastjson</name> <description>20250603spring_fastjson</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> python<developerConnection/> <tag/> <url/> </scm> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.9</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
2、编写Controller
序列化方法
String text = JSON.toJSONString(obj)
反序列化方法
VO vo = JSON.parseobject(json, VO.class)
注:
obj:被转换的对象
VO:与JSON数据对应的实体类
package com.mr._20250603spring_fastjson; import com.alibaba.fastjson.JSON; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; @RestController public class Controller { Bean bean = new Bean("sun",22); // @GetMapping @RequestMapping("/login") public String login(@RequestBody String json){ Map loginDate = JSON.parseObject(json, Map.class); String username = loginDate.get("username").toString(); String password = loginDate.get("password").toString(); Map<String,String> result = new HashMap<>(); String code = ""; String msg = ""; if ("mr".equals(username) && "123".equals(password)){ code = "200"; msg = "登录成功"; }else { code = "500"; msg = "账号或密码错误"; } result.put("code",code); result.put("msg",msg); return JSON.toJSONString(result); // System.out.println("wdwdwdw"); // System.out.println("bean"+bean); // String str = JSON.toJSONString(bean); // System.out.println("bean_json"+ str); // return str; } }
3、apipost工具测编程试
3.1请求格式为json,请求参数值与程序逻辑判断值一致时
3.2请求格式为json,请求参数值与程序逻辑判断值不一致时
三、遇到的问题
请求时注意根据验证的请求体格式选择
到此这篇关于springboot JOSN解析库的文章就介绍到这了,更多相关springboot json解析库内容请搜索编程China编程(www.jschinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!
这篇关于springboot项目中使用JOSN解析库的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!