alibaba / fastjson

FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
https://github.com/alibaba/fastjson2/wiki/fastjson_1_upgrade_cn
Apache License 2.0
25.74k stars 6.5k forks source link

使用feign 发送请求,请求参数中如果使用了@JSONField ,在1.2.83 版本中 不生效;导致被调用方通过parent_did接受不到值; #4195

Open gebizhuxiaowang opened 2 years ago

gebizhuxiaowang commented 2 years ago

使用feign 发送请求,请求参数中如果使用了@JSONField ,在1.2.83 版本中 不生效;导致被调用方通过parent_did接受不到值;

@JSONField(name = "parent_did")
private String parentDid;

Originally posted by @gebizhuxiaowang in https://github.com/alibaba/fastjson/issues/4173#issuecomment-1148421930

dylan-lds commented 2 years ago

@JSONField失效加一,踩坑场景:JSONArray.parseArray(String jsonStr, Class clazz),clazz对应的类中,有使用了@JSONField的变量,结果都被解析成null。

wenyi0509 commented 2 years ago

@JSONField失效加一,踩坑场景:JSONArray.parseArray(String jsonStr, Class clazz),clazz对应的类中,有使用了@JSONField的变量,结果都被解析成null。

关键是要怎么解决这个问题。

wenyi0509 commented 2 years ago

不要用lombok依赖的自动生成get/set方法,手动写get/set方法,把注解放到get方法上就可以了。

Samopig commented 1 year ago

使用feign 发送请求,请求参数中如果使用了@JSONField ,在1.2.83 版本中 不生效;导致被调用方通过parent_did接受不到值;

@JSONField(name = "parent_did")
private String parentDid;

Originally posted by @gebizhuxiaowang in #4173 (comment)

请问你这个问题是如何解决,下面那位兄弟的: 不要用lombok依赖的自动生成get/set方法,手动写get/set方法,把注解放到get方法上就可以了。 以上方法试过没解决。。。

Samopig commented 1 year ago

使用feign发送请求,请请求参数中如果使用了@JSONField,在1.2.83版本中无效;导致被调用方通过parent_did接收不值;

@JSONField(name = "parent_did")
private String parentDid;

最初发布者@gebizhuxiaowang在#4173(评论)

请问你这个问题是如何解决的,下面那位兄弟的:不要用lombok依赖的自动生成get/set方法,手动写get/set方法,把注解放到get方法上即可。

目前使用fastjson 1.2.83版本,将JSONField注解换成JsonProperty注解可以转换成功,我这边是客户端 image