首页 前端知识 项目中使用的是 FastJSON(com.alibaba:fastjson)JSON库

项目中使用的是 FastJSON(com.alibaba:fastjson)JSON库

2025-03-12 12:03:38 前端知识 前端哥 896 704 我要收藏

从你的 pom.xml 文件中可以看到,项目明确依赖了以下 JSON 库:

  1. FastJSON

    <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.47</version>
    </dependency>
    复制
  2. Gson

    <dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.9</version>
    </dependency>
    复制
  3. Spring Boot 默认的 Jackson

    • 由于项目中包含了 spring-boot-starter-web 依赖,Spring Boot 默认会引入 Jackson 作为 JSON 库:
      <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      复制

总结

你的项目同时依赖了以下 JSON 库:

  • FastJSONcom.alibaba:fastjson
  • Gsoncom.google.code.gson:gson
  • Jackson(通过 spring-boot-starter-web 引入)

如何选择使用哪个 JSON 库

  1. FastJSON

    • 如果你的代码中使用了 com.alibaba.fastjson.JSON 或相关类,说明你在使用 FastJSON。
    • 例如:
      import com.alibaba.fastjson.JSON;
      import com.alibaba.fastjson.JSONObject;
      复制
  2. Gson

    • 如果你的代码中使用了 com.google.gson.Gson 或相关类,说明你在使用 Gson。
    • 例如:
      import com.google.gson.Gson;
      复制
  3. Jackson

    • 如果你的代码中使用了 com.fasterxml.jackson.databind.ObjectMapper 或相关类,说明你在使用 Jackson。
    • 例如:
      import com.fasterxml.jackson.databind.ObjectMapper;
      复制

建议

  • 推荐使用 Jackson

    • 由于 Spring Boot 默认使用 Jackson,并且 Jackson 是 Spring 生态中的首选 JSON 库,推荐优先使用 Jackson。
    • 如果你没有特别的需求,可以移除 FastJSON 和 Gson 的依赖,避免引入不必要的依赖冲突。
  • 移除不必要的 JSON 库

    • 如果你决定使用 Jackson,可以从 pom.xml 中移除 FastJSON 和 Gson 的依赖:
      <!-- 移除 FastJSON -->
      <!--
      <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.47</version>
      </dependency>
      -->
      <!-- 移除 Gson -->
      <!--
      <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.9</version>
      </dependency>
      -->
      复制
  • 统一 JSON 库

    • 如果项目中已经大量使用了 FastJSON 或 Gson,建议统一使用其中一个库,避免混用导致代码风格不一致。

如何检查代码中使用的 JSON 库

  1. 搜索代码中的 JSON 工具类

    • 在项目中搜索以下类:
      • FastJSON:com.alibaba.fastjson.JSON
      • Gson:com.google.gson.Gson
      • Jackson:com.fasterxml.jackson.databind.ObjectMapper
  2. 查看导入语句

    • 打开代码文件,查看导入的 JSON 相关类。
  3. 检查 JSON 解析代码

    • 查看代码中是否有类似以下的 JSON 解析逻辑:
      • FastJSON:
        JSONObject jsonObject = JSON.parseObject(jsonString);
        复制
      • Gson:
        Gson gson = new Gson();
        MyObject obj = gson.fromJson(jsonString, MyObject.class);
        复制
      • Jackson:
        ObjectMapper objectMapper = new ObjectMapper();
        MyObject obj = objectMapper.readValue(jsonString, MyObject.class);
        复制

总结

  • 你的项目同时依赖了 FastJSON、Gson 和 Jackson。
  • 推荐优先使用 Jackson,因为它是 Spring Boot 的默认 JSON 库。
  • 如果不需要 FastJSON 和 Gson,可以从 pom.xml 中移除它们的依赖。
  • 检查代码中使用的 JSON 工具类,确保统一使用一个 JSON 库。
<?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 http://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>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.productQualification</groupId>
<artifactId>productQualification</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>productQualification</name>
<description>project root</description>
<packaging>pom</packaging>
<properties>
<java.version>1.8</java.version>
</properties>
<modules>
<module>api</module>
<module>common</module>
<module>resource</module>
<module>user</module>
</modules>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-miniapp</artifactId>
<version>4.2.4.B</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.0.3</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
<!-- 有赞sdk -->
<!--<dependency>
<groupId>com.youzan.cloud</groupId>
<artifactId>open-sdk-core</artifactId>
<version>1.0.7-RELEASE</version>
</dependency>
<dependency>
<groupId>com.youzan.cloud</groupId>
<artifactId>open-sdk-gen</artifactId>
<version>1.0.7.202003242151-RELEASE</version>
</dependency>-->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.8.3</version>
</dependency>
<!--部署成war包时开启【同时支持war和jar启动部署】↓↓↓↓-->
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
<!--<scope>provided</scope>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>org.apache.tomcat.embed</groupId>-->
<!--<artifactId>tomcat-embed-jasper</artifactId>-->
<!--<scope>provided</scope>-->
<!--</dependency>-->
<!--部署成war包时开启【同时支持war和jar启动部署】↑↑↑↑-->
<!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
<version>2.9.0</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-simple</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>okhttp</artifactId>
<groupId>com.squareup.okhttp3</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>1.6.20</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
<!-- html 转 png -->
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf</artifactId>
<version>9.1.9</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>baymax-releases</id>
<name>Nexus Release Repository</name>
<url>http://maven.youzanyun.com/repository/maven-releases/</url>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
复制

在这里插入图片描述

转载请注明出处或者链接地址:https://www.qianduange.cn//article/23376.html
标签
评论
会员中心 联系我 留言建议 回顶部
浏览器升级提示:您的浏览器版本较低,建议您立即升级为知了极速浏览器,极速、安全、简约,上网速度更快!立即下载
复制成功!