记录 JSONObject.parseObject json对象转换 对象字段为null

这篇具有很好参考价值的文章主要介绍了记录 JSONObject.parseObject json对象转换 对象字段为null。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.业务背景

        使用websocket 接收消息都是String类型,没办法自定义实体类接收,所以接发都必须将json 转 对象 对象转 json。

        这是我最开始的实体类,也就是转换的类型

package com.trinity.system.domain;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * <p>全文检索参数<p>
 *
 * @author Tony
 * @date 2021-04-03
 */
@Data
public class FullSearchParam implements Serializable {

    /**
     * 数据源类别
     */
    private Integer datasourceCategory;


    /**
     * 数据源类型
     */
    private String datasourceType;


    /**
     * 文件大小 10-20
     */
    private String fileSize;

    /**
     * 文件单位
     */
    private String fileUnit;

    /**
     * 时间范围 2000-03-01 10:11 - 2000-04-01 20:11 创建的文件
     */
    private String timeScore;


    /**
     * 检索内容
     */
    @NotBlank(message = "检索内容不能为空")
    private String searchContext;


    /**
     * 开始查询 / 停止查询
     */
    @NonNull
    private Integer status;

}

       websocket 前端还没完成开发,我使用postman 测试

记录 JSONObject.parseObject json对象转换 对象字段为null,json

 

         刚开始我是按照平常发送请求的格式 ,但是socket 发送的是文本,也就是他会给加 /n,所以刚开始转换的时候是非法字符

{

    "searchContext":"index"

}

        然后采用上上面的方式去发,不报错了。开心

        结果运行到下面抛出异常。之前也是用过所以没出啥事,发现这个searchContext 字段的属性为null,因为的debug 走的能看见发的消息的没有丢失,但是还有 / 这种符号,我就开始漫长的调试之路,但都是没有结果,也不知道啥问题吧。

        我就想到他这种转换肯定得解析在通过反射机制创建对象挨个塞进去。但是我有data 注解是可以有 get set 方法, 我就猜想 是不是 构造器的问题 就加了  @AllArgsConstructor 注解,就解决了上面的问题文章来源地址https://www.toymoban.com/news/detail-683323.html

@Data
@AllArgsConstructor
public class FullSearchParam implements Serializable {

到了这里,关于记录 JSONObject.parseObject json对象转换 对象字段为null的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JSON转换:实体类和JSONObject互转,List和JSONArray互转,map和JSONObject,JSONarray互转(fastjson版)

    1.实体类和JSONObject互转 2.List和JSONArray互转 3.Map和JSONObject互转(同1.) 4.ListMap和JSONArray互转(同2.) 5.取数据 6.JSONArray转String{} 7.数组转jsonarry 注: 由上示例可知任意数据类型均可通过JSON.toJSON(xxx)转换成对应的JSONObject或JSONArray

    2024年01月19日
    浏览(49)
  • JSON转换:实体类和JSONObject互转,List和JSONArray互转(fastjson版)

         //1.java对象转化成String      String s=JSONObject.toJSONString(javaObject.class);       //2. java对象转化成Object         Object str=JSONObject.toJSON(javaObject.class);       //3.String类型转json对象        JSONObject jsonObject= JSONObject.parseObject(str);       //4. String转Object         Obj

    2024年02月14日
    浏览(45)
  • Java-json相关转换,JSONObject与实体类/map互转、List/List<map>和JSONArray互转、获取JSONObject中的key value、字符串String转换等

    博客背景是Java开发。json相关的转换、取值等在日常开发中经常使用,但有时候还是会忘记or遇到些奇奇怪怪的问题。以此记录,提醒自己~不定期更新~ 实体类和JSONObject互转 Map和JSONObject互转 String转JSONObject 实体类转JSON字符串时不过滤NULL空值 获取JSONObject中的key value List和

    2024年02月12日
    浏览(76)
  • ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to 接口json数据转换异常。

    之前在使用fastjson进行接口传输数据时,碰到接收端数据转换异常问题,难了我好久。 例如:我们需要将json转换成实例集合 通常对JSON对象的转换操作是使用 强转 导致一些朋友对实例对象的操作也是进行强转 如下 这样的话我们在对 list 操作时就会报类似如下错误 所以之后

    2024年02月10日
    浏览(43)
  • MyBatis-plus更新对象时将字段值更新为null

            mybatis-plus在执行更新操作,当更新字段为 空字符串 或者 null 的则不会执行更新。如果要将指定字段更新null,可以通过以下三种方式实现。 1、全局配置         可以在 application.yml 配置文件中注入配置 GlobalConfiguration 属性 update-strategy, 将 update-strategy 策略调

    2024年02月15日
    浏览(55)
  • json中的json.parseObject()方法和json.tojsonString()方法讲解

    JSON.parseObject,是将Json字符串转化为相应的对象;JSON.toJSONString则是将对象转化为Json字符串。在前后台的传输过程中,Json字符串是相当常用的,这里就不多介绍其功能了,直接举一下应用的小例子,帮助理解这两个方法的用法。

    2024年02月13日
    浏览(33)
  • Access数据库操作踩坑记:数据溢出,设置1字段为Null是因为类型转换失败

    从过了2008年以后,就没有操作过Access数据库了,本以为应该是就此告别这它了。之后有本地存储肯定是sqlite。没想到最近项目上又碰到了Access操作。类型贼少,还不和大伙一致。总是那么搞特殊。这不,一操作就踩坑。还不知道具体错在哪里。胸闷...... 1 数据溢出 多半是由

    2024年02月04日
    浏览(72)
  • List有值二次转换给其他对象报null

    在这段代码中,我们假设 listData 是一个查询结果的列表, users 是一个对象,并且有一个属性 platformUsersData 用于存储查询结果。 如果 listData 有值,但是 users.getPlatformUsersData() 仍然为空,可能有以下几个原因: 检查 users 对象是否正确初始化。确保对象被实例化并赋予内存空间

    2024年02月16日
    浏览(31)
  • Java 对象转Json,@JSONField对象字段重命名和顺序问题

    1.创建一个测试实体 2.将实体转换为json字符串,看看未转换前的效果 {     \\\"businessLicenseCopy\\\":\\\"1\\\",     \\\"businessLicenseNumber\\\":\\\"2\\\",     \\\"businessTime\\\":\\\"6\\\",     \\\"companyAddress\\\":\\\"5\\\",     \\\"legalPerson\\\":\\\"4\\\",     \\\"merchantName\\\":\\\"3\\\" } 3.我们要转换为带下划线的key,例如把businessLicenseCopy转换为bus

    2023年04月08日
    浏览(40)
  • 对比两个json对象有那几个字段被修改,并返回有改动的字段内容

     如果您想比较两个 JSON 对象,找出哪些字段发生了变化,并返回发生变化的字段及其新的值,您可以编写一个函数来递归比较对象。以下是一个 TypeScript 示例: 这个函数 compareObjects 将递归比较两个对象,并返回发生变化的字段及其新值。在示例中, changes 对象将包含 { b:

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包