我已经在后台此两类:ArrayList的<Object> JSON
Produto
public class Produto implements Serializable {
@Transient
@JsonSerialize
@JsonDeserialize
private Set<Filial> filials = new HashSet<>();
//more fields
//getters and setters
孝
public class Filial implements Serializable {
@Id
private Long id;
@Column(name = "nm_filial")
private String nmFilial;
//more fields
//getters and setters
的filiais属性不是一个数据库字段并以这种方式接收它的值:
@RequestMapping(value = "/produtos/{id}",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public ResponseEntity<Produto> getProduto(@PathVariable Long id) {
Produto produto = produtoService.findOne(id);
Set<Filial> filials = produtoFilialService.findFiliaisByIdProduto(produto.getId());
produto.setFilials(filials);
return Optional.ofNullable(produto)
.map(result -> new ResponseEntity<>(
result,
HttpStatus.OK))
.orElse(new ResponseEntity<>(HttpStatus.NOT_FOUND));
}
但是,当调用这个类的前端,JSON的返回是这样的:
{"id":1, "filials":[[1,"A"],[2,"AS"]]}
我怎样才能返回对象的数组是这样的:
{"id":1, "filials":[{"id":1, "nmFilial":"A"},{"id":2, "nmFilial":"AS"}]}
?
你是如何产生的JSON;您使用哪个库来生成JSON?显示将对象转换为JSON的代码。 – Jesper
@Jesper我使用了spring框架,我编辑了上面的问题:) – Jack
几点。 1-删除@ @ Transient'关键字,因为我在这里没有看到这一点。 2-删除注释'@ Id'和'@ Column'。因为它们不相关 – eladyanai