gpt4 book ai didi

java - ArrayList<对象> JSON

转载 作者:行者123 更新时间:2023-12-01 09:28:40 26 4
gpt4 key购买 nike

我在后端有这两个类:

产品

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"}]}

<强>?

最佳答案

这里使用以下配置:

在我的实体中:

    @Transient
@JsonSerialize
@JsonDeserialize
private List<Filial> filiais = new ArrayList<>();

孝类:

import java.io.Serializable;


public class Filial implements Serializable{

private Long id;

private String nmFilial;

public Filial(){}

public Filial(Long id, String nmFilial){
this.id = id;
this.nmFilial = nmFilial;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getNmFilial() {
return nmFilial;
}

public void setNmFilial(String nmFilial) {
this.nmFilial = nmFilial;
}
}

在存储库上:

@Query(value = "SELECT pf.filial FROM ProdutoFilial pf "
+ "where pf.produto.id = :idProduto")
ArrayList<Filial> findFiliaisByIdProduto(@Param("idProduto") Long idProduto);

在我的服务中我这样做(只是为了测试)

produto.getFiliais().add(new Filial(1l, "a"));
produto.getFiliais().add(new Filial(2l, "b"));

工作:

...
"filiais": [
{
"id": 1,
"nmFilial": "a"
},
{
"id": 2,
"nmFilial": "b"
}
]
}

关于java - ArrayList<对象> JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39637287/

26 4 0