美文网首页
深入解析Fastjson的反序列化大小写问题---你可能没有注意

深入解析Fastjson的反序列化大小写问题---你可能没有注意

作者: 王魔王 | 来源:发表于2024-05-23 16:39 被阅读0次

Fastjson在反序列化JSON到JavaBean时,默认情况下不会区分JSON中的key和JavaBean中属性名称的大小写。

public class User {
    private String username;
}

String jsonString = "{\"userName\":\"JohnDoe\"}";
User user = JSON.parseObject(jsonString, User.class);
// 反序列化成功,尽管JSON中的key是"userName",而JavaBean中的属性是"username"

当JavaBean中同时定义了username和userName属性时,Fastjson会将JSON中的userName映射到JavaBean中的userName属性,而username属性将保持无值状态。

public class User {
    private String username;
    private String userName;

    // getter 和 setter 省略
}

String jsonString = "{\"userName\":\"JohnDoe\"}";
User user = JSON.parseObject(jsonString, User.class);
// 反序列化后,user.userName == "JohnDoe",而user.username 为 null

FastJson提供了注解@JSONField注解:通过在JavaBean的属性上使用@JSONField注解,可以明确指定JSON中的key,确保正确的属性被赋值。

import com.alibaba.fastjson.annotation.JSONField;

public class User {
    @JSONField(name = "userName")
    private String username;
    // 其他属性和方法
}

大家注意这个问题。

相关文章

  • jackson反序列化失败InvalidFormatExcept

    问题: 客户端使用fastjson进行序列化,服务端使用jackson反序列化失败。报错。 原因 fastjson...

  • FastJson安全问题解决

    fastJson出现安全问题导致接口不接受请求,因此使用Gson替代fastJson做序列化、反序列化 Json转...

  • jackson源码分析

    背景:之前碰到序列化的问题,spring默认序列化又是jackson序列化,然后近来又爆出fastjson序列化的...

  • fastjson

    fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为J...

  • Fastjson 简单上手

    fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为J...

  • json

    fastjson主要的使用入口 JSON类(和Gson类一样) 解析(即反序列化JSONObejct,JSONAr...

  • 推特开源的Serial,轻量级,快速的json解析框架

    你还在用Gson,fastjson吗?最近几个月推特开源了她们的json解析和序列化框架 Serial,这是一个轻...

  • Gson解析流程之我的理解

    平时我们json解析常用到Gson,fastJson,Moshi等等,但是大家懂得他们为何可以反序列化出相应对象吗...

  • Fastjson 第一次解析耗时更长

    问题 发现程序开机启动慢,仔细调查,意外发现了fastjson解析慢的问题 使用fastjson版本 示例说明 输...

  • 面试相关

    1.Json解析与XML解析 Gson解析和FastJson ,FastJson解析效率高 XML解析,SAX解析...

网友评论

      本文标题:深入解析Fastjson的反序列化大小写问题---你可能没有注意

      本文链接:https://www.haomeiwen.com/subject/davtqjtx.html