I am developing a java application in android studio and a Rest web server in java, netbeans.
I need to send a JSON to the server ... I did the whole engine the webService and tested it using Postman.
The Json used was this:
{
    "id":0,
    "ticket":"2132158645161654561651616",
    "avaliacoes":[
        {
        "idAvaliacao":1,
        "nota":5,
        "observacao":"testeTEste"
        },
        {
        "idAvaliacao":2,
        "nota":4,
        "observacao":"testeTEste"
        }
    ]
}
Worked perfectly.
So I went to generate Json dynamically in the application:
public void enviaDadosVenda(){
        JSONObject obj = new JSONObject();
        JSONArray avaliacoes = new JSONArray();
        JSONObject avaliacao;
        try {
            obj.put("id", 0);
            obj.put("ticket", PrincipalActivity.ticket_id);
            for(int i=0; i < PrincipalActivity.listAval.size();i++){
                avaliacao = new JSONObject();
                avaliacao.put("idAvaliacao", listAval.get(i).getId());
                avaliacao.put("nota", listAval.get(i).getNota());
                avaliacao.put("observacao", listAval.get(i).getObservacoes());
                avaliacoes.add(avaliacao);
            }
            obj.put("avaliacoes", avaliacoes);
        } catch (JSONException e) {
            e.printStackTrace();
        }
}
The generated Json is this:
{
    "id":0,
    "ticket":"2132158645161654561651616",
    "avaliacoes":"[
        {
            \"idAvaliacao\":1,
            \"nota\":5,
            \"observacao\":\"testeTEste\"
        },
        {
            \"idAvaliacao\":2,
            \"nota\":4,\"observacao\":\"testeTEste\"
        }
    ]"
}
If I use this second Json on Postman the webService no gets it correctly.
Get the id and the ticket, but the evaluations array gets a single item(avaliacoes.get(0)) = null.
I've looked at other posts about Json and ArrayJsons and nothing helped me ...
How to create correct JSONArray in Java using JSONObject
https://pt.stackoverflow.com/questions/140442/reconhecer-um-jsonobject-ou-jsonarray
 
    