【问题标题】:Convert inner json object to string将内部 json 对象转换为字符串
【发布时间】:2017-05-27 16:22:54
【问题描述】:

我的实体类如下所示:

@Entity
@Table(name = "tbl_programstrm_projstream")
public class ProgramStm_Projstrm_Model {
    @Id
    @GeneratedValue
    private int id;
    @Lob
    @Column(columnDefinition="TEXT")
    private String programstrm;
    private int programstrmId;
    @ManyToOne(cascade = { CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH })
    @JoinColumn(name = "projstrmId")//
    private ProjectStreamModel projstrmId;
//getter and setter
}

基于这个实体,我得到这样的结果 json

{
    "programstrm": "D-BSS Implementation",
    "programstrmId": 3,
    "projstrmId": {
      "name": "Program Leadership"
    }
  }

但我希望 ProjectStreamModel 响应作为字符串而不是对象,以便最终结果 json 看起来像这样“

{
    "programstrm": "D-BSS Implementation",
    "programstrmId": 3,
    "projstrmId": "Program Leadership"

  }

【问题讨论】:

  • 您为实现这一目标做了什么?发布您的代码。
  • 问题已修改......听起来不错?
  • 是的,这样更好。因此,您希望在 将其发送到客户端之前在后端执行此操作。如果你有办法在每个类型级别上配置你的序列化器,你可以这样做。最简单的解决方案是创建一个新类来表示来自端点的响应。该类将有问题的 3 个字段作为顶级成员。
  • 非常感谢...成功了 :)

标签: java json spring


【解决方案1】:

如果我没看错,使用@JsonSerialize 可能会对您有所帮助(例如link

【讨论】:

    猜你喜欢
    • 2019-08-27
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 2012-06-14
    • 2012-02-20
    • 2015-01-03
    相关资源
    最近更新 更多