私はバックエンドで、この2つのクラスをしました:ArrayListの<Object> JSON
public class Filial implements Serializable {
@Id
private Long id;
@Column(name = "nm_filial")
private String nmFilial;
//more fields
//getters and setters
filiaisプロパティ
public class Produto implements Serializable {
@Transient
@JsonSerialize
@JsonDeserialize
private Set<Filial> filials = new HashSet<>();
//more fields
//getters and setters
親孝行
Produtoは、データベースのフィールドではありませんこの方法で値を受け取ります:
@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":[{"id":1, "nmFilial":"A"},{"id":2, "nmFilial":"AS"}]}
:
{"id":1, "filials":[[1,"A"],[2,"AS"]]}
どのように私はこのようなオブジェクトの配列を返すことができますか?
どのようにJSONを生成しているが、どのライブラリを使用してJSONを生成していますか?オブジェクトをJSONに変換するコードを表示します。 – Jesper
@Jesper私は春のフレームワークを使用して、私は上記の質問を編集: – Jack
いくつかの点。 1-ここではわかりませんが、 '@ Transient'キーワードを削除してください。 2-アノテーション '@ Id'と' @Column'の両方を削除します。彼らは関係ないので – eladyanai