引入依赖
<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”)