首页 > 解决方案 > Spring - Json 对象将值作为数组发送并且不显示字段名称

问题描述

邮差

如您所见,数据类似于:

[
 [
  2,
  "second title"
 ]
]

什么时候应该:

[
 [
  upvte : 2,
  title : "second title"
 ]
]

我的弹簧控制器

@Controller
public class MyController {

    @Autowired
    private PostService postService;

    @GetMapping(value = "/listPost" ,produces = "application/json; charset=utf-8")
    public @ResponseBody List<Post> listPosts(){

        return postService.getAll();

    }

后Java

@Entity
@Table(name = "post")
public class Post {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(name = "title")
    private String title;

    @Column(name = "text")
    private String text;

    @Column(name = "upvote")
    private int upvote;

    @Column(name = "downvote")
    private int downvote;

    @CreatedDate
    @Column(name = "date_created",nullable = false)
    private Date dateCreated;

我正在尝试将此响应映射到 Angular,但我认为由于响应中未显示字段,因此 Angular 无法映射它。

标签: javajsonspring-mvc

解决方案


正如@LHCHIN 评论的那样,我的问题是重复的,也是为了解决这个问题:在你的休眠查询中,你应该添加addentity()到你的查询中来解决这个问题


推荐阅读