您的当前位置:首页正文

java中如何把实体类转成json格式的字符串

2024-11-06 来源:个人技术集锦

疑问

有时候需要一个实体类的json格式,如给前端写json形式的请求实例需要完整的json字符串

但是在用Json工具类转换的时候,value为null的时候是不显示的

如:

String json = JSONObject.toJSONString(object);

返回:

{"isAsc":"asc","orderBy":"","params":{}}

个人解决方案

注意这段代码(JSON_STYLE):

return new ToStringBuilder(this,ToStringStyle.JSON_STYLE)
    public String toJson() {
        return new ToStringBuilder(this,ToStringStyle.JSON_STYLE)
                .append("id", getId())
                .append("title", getTitle())
                .append("surfacePlot", getSurfacePlot())
                .append("content", getContent())
                .append("moduleId", getModuleId())
                .append("moduleName", getModuleName())
                .append("channelName", getChannelName())
                .append("categoryId", getCategoryId())
                .append("categoryName", getCategoryName())
                .append("releaseStatus", getReleaseStatus())
                .append("updateStatusTime", getUpdateStatusTime())
                .append("recommended", getRecommended())
                .append("recommendedTime", getRecommendedTime())
                .append("readingQuantity", getReadingQuantity())
                .append("source", getSource())
                .append("createTime", getCreateTime())
                .append("opUser", getOpUser())
                .toString();
    }

输出

{
    "id": null,
    "title": null,
    "surfacePlot": null,
    "content": null,
    "moduleId": null,
    "moduleName": null,
    "channelName": null,
    "categoryId": null,
    "categoryName": null,
    "releaseStatus": null,
    "updateStatusTime": null,
    "recommended": null,
    "recommendedTime": null,
    "readingQuantity": null,
    "source": null,
    "createTime": null,
    "opUser": null
}

不想有null可以自己设定统一的

    public String toJson() {
        return new ToStringBuilder(this,ToStringStyle.JSON_STYLE)
                .append("id", "1")
                .append("title", "1")
                .append("surfacePlot", "1")
                .append("content", "1")
                .append("moduleId", "1")
                .append("moduleName", "1")
                .append("channelName", "1")
                .append("categoryId", "1")
                .append("categoryName", "1")
                .append("releaseStatus", "1")
                .append("updateStatusTime", "1")
                .append("recommended", "1")
                .append("recommendedTime", "1")
                .append("readingQuantity", "1")
                .append("source", "1")
                .append("createTime", "1")
                .append("opUser", "1")
                .toString();
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

您可能感兴趣的文章:
Top