杰克逊打印空的 JSON 字符串

7

我有一个使用jackson(Play框架)序列化对象的Java程序。起初它是正常工作的,但我不知道怎么搞的,现在它不能正常工作了。这是我的序列化器:

public String serializeObject(Object object) {
    ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
    String json = null;
    try {
        json = ow.writeValueAsString(object);
    } catch (JsonProcessingException e) {
        e.printStackTrace();
    }
    return json;
}

这是运行它的代码:

return badRequest(serializeObject(new Error("bad input")));

错误类:

public class Error {
    private String error;

    public Error(String error) {
        this.error = error;
    }
}
作为输出,我得到的全部是{ }。出了什么问题?
1个回答

13

你的Error Class的属性需要有setter和getter方法,才能在JSON输出中显示。

public String getError() {
    return error;
}

public void setError(String error) {
    this.error = error;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,