利用@JSONField处理属性与json的key值不对应问题

@Data
public class BaseInfoJsonPo {

    @JSONField(name="vendorItemCode")
    private String itemNumber;

    /**
     * 供应商产品型号
     */
    @JSONField(name="vendorProductModel")
    private String itemSize;

    /**
     * 供应商物料描述
     */
    @JSONField(name="vendorItemDesc")
    private String description;

}

bean与jsonObject的相互转化:

JSONObject jsonObj = (JSONObject) JSON.toJSON(jsonBean);

 BaseInfoJsonPo jsonBean=jsonObj .toJavaObject(BaseInfoJsonPo .class);

问题:在bean转jsonObject时,当属性为null时,转化后对应的key不见了。

解决:JSONObject jsonObject =  JSONObject.parseObject(JSON.toJSONString(jsonBean,SerializerFeature.WriteNullStringAsEmpty));

 

你可能感兴趣的:(java)