Galera,
a ideia é montar este JSON:
{
"sEcho": "1",
"iTotalDisplayRecords": 1,
"aaData": [
"vencimento" : "08/06/2013",
"empresa" : "porto seguro",
"descricao" : "nota teste",
"valor" : "81.25"],
"iTotalRecords": 1
}
Mas estou montando:
{
"sEcho": "1",
"iTotalDisplayRecords": 1,
"aaData": [
{"identifier": "vencimento","value": "08/06/2013"},
{"identifier": "empresa","value": "porto seguro"},
{"identifier": "descricao","value": "nota teste"},
{"identifier": "valor","value": "81.25"}],
"iTotalRecords": 1
}
O modelo que estou tentando chegar ao resultado consiste em duas classes. TableModel e AaData:
[code] public class TableModel {
private String sEcho;
private Long iTotalRecords;
private int iTotalDisplayRecords;
private List<AaData> aaData;
}
[/code]
e
[code] public class AaData {
private String identifier;
private String value;
}
[/code]Queria fazer de maneira mais clean, sem ter que fazer MAPs ou Listas dentro de listas. tem como ?
abraço e vlw pela ajuda
EDIT
É assim que o JSON do attributo MAP aaData fica:
{
"sEcho": "1",
"iTotalDisplayRecords": 1,
"iTotalRecords": 1,
"aaData": [
["valor","81.25"],
["empresa","porto seguro"],
["vencimento","08/06/2013"],
["descricao","nota teste"]
]
}
EDIT 2
Colocando o código do controller onde gero o JSON:
[code] @Get("/nota/json")
public void json(String sEcho, int iDisplayStart, int iDisplayLength){
List notas = dao.list(iDisplayStart, iDisplayLength);
Long total = dao.countTotal();
result.use(Results.json()).withoutRoot().from(builder.build(notas, sEcho, total)).recursive().serialize();
}
[/code]
Obrigado