使用fastjson:Java对象转json字符串(解决属性首字母大写无法映射问题)

使用fastjson:Java对象转json字符串(解决属性首字母大写无法映射问题)

引入依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.51</version>
</dependency>

实体

@Data
public class FaceFusion {

    @JsonProperty("projectId")
    @JSONField(name="ProjectId")
    private String ProjectId;

    @JsonProperty("modelId")
    @JSONField(name="ModelId")
    private String ModelId;

    @JsonProperty("rspImgType")
    @JSONField(name="RspImgType")
    private String RspImgType;

    @JsonProperty("image")
    @JSONField(name="Image")
    private String Image;

}

@JsonProperty和@JSONField现在不加,稍后解释

测试接口


    @ApiOperation("人脸融合")
    @PostMapping	
    //此处不加@ResponseBody是因为上面加了@RestController
    public String saveFaceFusion(@RequestBody FaceFusion faceFusion){
         System.out.println(faceFusion);
         return faceFusion;
    }

测试

测试接口

出现的问题及解决

由于之后的业务需要实体对象中的属性大写,此处直接测试,并不能与属性名称相匹配,

解决

属性名称上加上 @JsonProperty(“image”)注解

对象转json字符串

需求:把FaceFusion对象转为json字符串

	Object obj = JSONArray.toJSON(faceFusion);
	String json = obj.toString();
	System.out.println(json);

出现的问题及解决

因为我的实体对象中首字母是大写转化为字符串之后首字母变成了小写
解决
实体属性上加上@JSONField(name=“ModelId”)

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值