【问题标题】:Return serializable object from Spring entity从 Spring 实体返回可序列化对象
【发布时间】:2015-11-23 00:23:10
【问题描述】:

我有一个包含两个变量字符串值和字符串描述的实体。

我需要前端,以下一个格式返回对象列表(每个对象值都带有“”),以便于前端的 JSON 验证。

通缉:

{"value":"WRITTEN_PRODUCTION","description" : "Written production"},

我目前已将实体中的“toString”方法覆盖为以下内容:

 @Override
    public String toString() {
        return "{" + "value :" + value + ", description :'" + description + "'" + '}';
    }

但是,我没有收到想要的格式。我收到没有“”,或者下一个: {value:'WRITTEN_PRODUCTION',description :'书面生产'},

我尝试在“toString”中转义字符 \" 但它不能以我想要的格式工作。如果我在返回的每个 " " 之前使用 \" 也会给出 \,这不是我想要的。 如何获得以下格式的任何建议或建议:

  {"value":"WRITTEN_PRODUCTION","description" : "Written production"},

【问题讨论】:

  • 你是从控制器返回吗?
  • 你用的是spring boot吗?如果是,则直接从控制器返回实体对象,您不需要任何重写的 toString() 方法。
  • 是的,我使用 MediaType JSON 从控制器返回,但格式不是我想要的。

标签: json spring return entity serializable


【解决方案1】:

toString()方法

@Override
public String toString() {
    return "{" + "\"value\" :\"" + value + "\", \"description\" :\"" + description + "\"" + '}';
}

使用 sysout 在控制台中输出:

{"value" :"abc", "description" :"des"}

【讨论】:

  • 我从带有 MediaType JSON 的控制器返回,但格式不是我想要的。我曾尝试在每个“,作为\”之前使用\作为转义符,但是当我得到响应时,它还显示\?
  • 如果您从控制器返回,则无需覆盖 toString() 方法。
  • 事实证明,我不需要重写实体中的方法。我已经发布了一个单独的答案。
【解决方案2】:

是的,我比他们更复杂。 我不需要重写方法,只需要简单的 getter、setter 和构造函数。其余的由控制器完成。我想获得唯一的覆盖“toString()”方法,弄错了方向。

【讨论】:

    猜你喜欢
    • 2016-07-09
    • 1970-01-01
    • 2015-11-07
    • 2010-10-17
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多