首页 > 编程语言 >Java对象List<对象>转JSON的异常

Java对象List<对象>转JSON的异常

时间:2023-03-10 18:33:07浏览次数:45  
标签:Java Accessors List private fluent JSON toJSON true

@Data
@Accessors(fluent = true)
public class A {
    private String id;
    private List<B> b;
}
@Data
@Accessors(fluent = true)
public class B {
    private String name;
    private String type;
}

 利用fastJson转换一下JSONObject , 用来统一对接数据

JSONObject toJSON = (JSONObject) JSONObject.toJSON(response);

然后发现返回的结果中全都是空的 , 连id都没有转换过来 , 然后就想是不是fastJson对于包含List<对象>转换有限制

于是 , 更换hutool工具类中的JSONUtil来转换 , 依旧无法转换

好吧,,,既然不让我带List , 那我List单独转然后再重新组装

JSONArray toJSON = (JSONArray) JSONArray.toJSON(list);

发现单独转List依旧是无法转换成功 , 可是对象数量是对的 , 可每个对象都是空对象 , 没有内容

然后 , 经过多次尝试 , 数据表自动生成的对象居然可以成功 ,,, 

仔细对比一下 , 发现model类确实不太一样 

// 我自己的
@Accessors(fluent = true)
// 数据库生成的
@Accessors(chain = true)

如果设置 fluent 确实是无法转换 , 换成chain之后 , 无论是 fastJson 还是 hutool都可以成功...

大概率是因为 fluent , 不用set和get前缀关键字 , 在获取对象内容的时候 , 可能无法明确是获取还是设置值 ...

 

标签:Java,Accessors,List,private,fluent,JSON,toJSON,true
From: https://www.cnblogs.com/reverseapplepie/p/17204385.html

相关文章

  • JDBC--java连接数据库
    什么是JDBCJDBC(javadatabase.connective)它是一套用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种规......
  • Java中的IO
    1、概念IO(Input、Output)表示输入与输出。Java1.0中IO是流式IO,只能一个个字节的处理数据,所以也叫StreamIO,其响应是阻塞式的。Java1.4中的NIO(non-blocking)是非阻塞式......
  • java-IO-字节流读数据(一次读一个字节数组数据)
         ......
  • 【希尔排序ShellSort算法详解】Java/Go/Python/JS/C不同语言实现
    【希尔排序算法详解】Java/Go/Python/JS/C不同语言实现 说明希尔排序(ShellSort)是插入排序的一种改进版,也称递减增量排序算法(DiminishingIncrementSort),其实质是将数......
  • java-IO-字节流复制文本文件
          ......
  • java学习日记20230310-排序
    排序 指将一组数据按照指定的顺序排列的过程分类:内部排序:指将需要处理的所有数据都加载到内存储存器中,进行排序,包括交换排序法,选择排序法,插入排序法外部排序:......
  • java-IO-字节流读数据(一次读一个字节数据)
              ......
  • JAVA WEB项目文件夹上传下载源代码
    ​ 一、功能性需求与非功能性需求要求操作便利,一次选择多个文件和文件夹进行上传;支持PC端全平台操作系统,Windows,Linux,Mac支持文件和文件夹的批量下载,断点续传。刷......
  • 1_JAVAEE简介
    什么是JavaEEJavaEE(JavaEnterpriseEdition),Java企业版,是一个用于企业级web开发平台。最早由Sun公司定制并发布,后由Oracle负责维护。JavaEE平台规范了在开发企业级web应用......
  • 1_JAVAEE简介
    什么是JavaEEJavaEE(JavaEnterpriseEdition),Java企业版,是一个用于企业级web开发平台。最早由Sun公司定制并发布,后由Oracle负责维护。JavaEE平台规范了在开发企业级web应用......