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

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

2025-03-12 12:03:38 前端知识 前端哥 893 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
标签
评论
发布的文章

linux常见操作命令

2025-03-05 18:03:10

GPT-4.5

2025-03-12 12:03:19

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!