Jackson objectmapper将空字符串反序列化为“null”值

时间:2016-09-19 09:27:26

标签: java jackson

有时在反序列化期间,null将转换为“null”。有没有办法可以避免这种情况?

{
    "item" : {
        "title": "null",
        "id" : "134df"
    }
}

我希望它为

{
    "item" : {
        "title": null,
        "id" : "134df"
    }
}

{
    "item" : {
        "title": "",
        "id": "134df"
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用Google JSON即gson。

来实现

如果您对标题设置为null,那么在此时将Object转换为JSON时,JSON字符串中将无法使用标题。 之后,您可以检查JSON中对象是否可用的条件,并执行进一步的任务。

这是代码spinet。

import com.google.gson.Gson;

public class JackSonObjectMapperExample {

    public static void main(String[] args){
        Item item = new Item();

        item.setId("134df");
        item.setTitle(null);

        POJOExample pojo = new POJOExample();
        pojo.setItem(item);

        Gson gson = new Gson();
        String jsonInString = gson.toJson(pojo);

        System.out.println("=================>>"+jsonInString);
    }
}

class POJOExample{
    private Item item;
    public Item getItem() {
        return item;
    }
    public void setItem(Item item) {
        this.item = item;
    }
}

class Item{
    private String title;
    private String id;
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
}

输出: =================>> { “项”:{ “ID”: “134df”}}

希望,这会对你有帮助。