fastjson
fastjson copied to clipboard
如果定义的实体类中实例变量的名字全是大写,就会出现无法正常由json还原为实体类的问题
我的实体类定义如下 public class HandShakeInfo { private String encryptMasterPublicKey; private String serverTempKey; private String clientTempKey; private String SA; private String SB; private String serverVin; } 然后我在给实体类中的一些实例变量赋值之后,使用fastjson转换为json字符串,结果如下 "handShakeInfo":{"clientTempKey":"Rk7=","sB":"tfB0_BROl"} 这个SB的首字母变成了小写。 而我toString打印的时候结果如下 handShakeInfo=HandShakeInfo{encryptMasterPublicKey='null', serverTempKey='null', clientTempKey='Rk7', SA='null', SB='tfB0_BROl', serverVin='null'} 还原的时候就会出现无法正常还原为实体类的情况。
加上注解,写死
@JSONField(name = "SB")
private String SB;
加上注解,写死
@JSONField(name = "SB") private String SB;
新手菜鸟 还不太会用,万分感谢您的回复
新手菜鸟,还不太会用,万分感谢您百忙之中回答我的问题~。
------------------ 原始邮件 ------------------ 发件人: "alibaba/fastjson" @.>; 发送时间: 2021年4月9日(星期五) 下午2:03 @.>; @.@.>; 主题: Re: [alibaba/fastjson] 如果定义的实体类中实例变量的名字全是大写,就会出现无法正常由json还原为实体类的问题 (#3709)
@JSONField(name = "SB") private String SB;
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
记得有个配置可以解决,不知道为啥,fastjson最初没遵循javabean的命名规范,导致一些命名会出问题,所以后来好像加了个参数来着
https://segmentfault.com/a/1190000040585981 希望能帮助你
加上注解,写死
@JSONField(name = "SB") private String SB;
新手菜鸟 还不太会用,万分感谢您的回复
加注解多不方便,要是全部都是这种首字母大写。不现实。新版的2.0.5 fastjson2也同样有这种问题