5
respostas

Alterar saída json para array.

Estou precisando alterar a saída do json que esta no seguinte formato:

{"recordsTotal":4,"recordsFiltered":4,"data":[{"id":1,"nome":"Transfer 1","dataTransfer":{"year":2017,"month":"MAY","dayOfMonth":5,"dayOfWeek":"FRIDAY","era":"CE","dayOfYear":125,"leapYear":false,"monthValue":5,"chronology":{"id":"ISO","calendarType":"iso8601"}},"contaA":"Conta A","contaB":"Conta C","valor":999.00,"observacao":"","minhasContas":[{"id":23,"nome":"Conta A","dataAcesso":{"year":2017,"month":"OCTOBER","dayOfMonth":26,"dayOfWeek":"THURSDAY","era":"CE","dayOfYear":299,"leapYear":false,"monthValue":10,"chronology":{"id":"ISO","calendarType":"iso8601"}},"saldoAnterior":0.00,"saldoAtual":1000.00,"saldoFinal":548.80,"tipo":"Poupanca","cor":"#57C7D4","dashBoard":true,"descricaoMinhasContas":"Nunhuma obervação!","numeroId":23}]}

E estou utilizando para gerar o json o retorno:

return  ResponseEntity.status(HttpStatus.OK).body(dataTableMinhasDespesas)

para uma saída no formato de array, que segue abaixo:

{
  "data": [
           {
              "DT_RowId": "row_1",
              "first_name": "Tiger",
             "last_name": "Nixon",
            "position": "System Architect",
              "email": "t.nixon@datatables.net",
              "office": "Edinburgh",
              "extn": "5421",
              "age": "61",
              "salary": "320800",
              "start_date": "2011-04-25"
            }
    ]
}

Alguém tem alguma sugestão?

5 respostas

var employees = { accounting: [] };

someData.map(function(item) { employees.accounting.push({ "firstName" : item.firstName, "lastName" : item.lastName, "age" : item.age }); }

var employees = {
    accounting: []
};

// someData has to be an array
someData.map(function(item) {        
   employees.accounting.push({ 
        "firstName" : item.firstName,
        "lastName"  : item.lastName,
        "age"       : item.age 
    });
}

Olá Leandro, seu post, não entendi muito, mas o que entendi, é que o meu código é orientado a objetos e não orientado a String, fica muito ruim o código dessa forma, manutenção, então, nem se fala!

Verdade CLerman, eu confundi, interpretei errado e não vi com calma o seu código. O código que enviei era para transformar uma data de JAvaScript em Json. Seu caso é que o objeto em Java tenha a saída em Json. Para isso existe uma biblioteca do Java , chamada org.json.JSONObject.

Segue um exemplo de código que encontrei, utilizando essa biblioteca.

https://www.devmedia.com.br/trabalhando-com-json-em-java-o-pacote-org-json/25480

Não é isso, não Leandro. Já tenho o meu objeto para JSON, agora preciso que a saída seja para array, deixei bem explicado acima!