如何在 Web Service Rest 中获取数组 JSON?

How to get an arrayJSON in webService Rest?

我正在 java、netbeans 中开发 WEb 服务 Rest。

这是JSON我想收到的:

{
    "ticket":"2132158645161654561651616",
    "avaliacoes":[
        {
        "id":1,
        "nome":"Atendimento",
        "nota":5,
        "observacoes":"testeTEste"
        },
        {
        "id":2,
        "nome":"Atendimento",
        "nota":5,
        "observacoes":"testeTEste"
        }

    ]

}

接待处Class

    @PUT
    @Consumes(MediaType.APPLICATION_JSON)
    @Path("venda/enviardados")
    public String postVenda(@QueryParam("key") String key, @QueryParam("serial") String serial, VendaAvaliacao va) {

...
}

实体Classes

public class VendaAvaliacao {

    private int id;
    private String ticket;
    //private List<VendaAvaliacaoInner> avaliacoes = new ArrayList<>();  //I've tried it too
    private VendaAvaliacaoInner[] teste;

}

public class VendaAvaliacaoInner {

    private int id;
    private String nome;
    private int nota;
    private String observacao;

}

票已收到并填充,但数组 = null。

我已经阅读了其他类似的主题,但它们没有帮助....我该怎么办?

https://pt.whosebug.com/questions/6046/convers%C3%A3o-de-string-json-para-objeto-java?rq=1

https://pt.whosebug.com/questions/159725/receber-valor-de-array-json-para-string-java

https://pt.whosebug.com/questions/290759/como-obter-objetos-de-um-array-de-json-usando-jsonarray-no-java

也许您正在使用的服务 REST 没有填充数组中的数据。

作为建议,我会使用 List<T> 而不是 T[]

我还看到您在对象中映射了 3 个属性,但是 id 属性 在原始 JSON 中不存在,不是吗?