Entonces, estoy usando JQuery para leer un JSON y ponerlo dentro de una cuadrícula. El problema es: la cuadrícula no se mostrará cuando el JSON es:
{"result":[[{"type":"VOMesas.TMesas","id":1,"fields":{ "FUsers":1,"FEnclosing":0,"FClientName":"","FCode":100,"FStatus":1,"FTotalValue":128.25}}]]}
Pero si JSON es así, sin el campo: {…}:
{"result":[[{"type":"VOMesas.TMesas","id":1,"FUsers":1,"FEnclosing":0,"FClientName":"","FCode":100,"FStatus":1,"FTotalValue":128.25}]]}
Se lee.
Aquí está la función que estoy usando:
function getContent(order) { $.getJSON("query.json", function(data) { $.each(data.result, function(i, item) { var grid = ''; var i=0; var CAMPO; for (i=0; i < item.length; i++){ CAMPO = item[i]; grid += ''+ CAMPO.FQtdPessoas + ' '+ CAMPO.FDataFechamento + ' '+ CAMPO.FTempoPermanencia + ' '+ CAMPO.FNomeCliente + ' '+ CAMPO.FValorAcrescimo + ' '+ CAMPO.FValorDesconto + ' '+ CAMPO.FValorServico + ' '+ CAMPO.FDataAbertura + ' '+ CAMPO.FNumero + ' '+ CAMPO.FStatus + ' '+ CAMPO.FValorTotal + ' '+ CAMPO.FTerminalAberto + ' '+ CAMPO.FNumeroVenda + ' '+ CAMPO.FGarcon + ' '; } grid += '
'; $("#dvContent").html(grid); $("#dvContent").find("a").click(function(e){ var link = $(this); getContent(link.html()); }); }); }); } $(document).ready(function(){ $(function() { getContent(); }); });
Parece que el problema está en el código que estás omitiendo:
grid += '
';
Si el resultado de json está en el primer formato, entonces debería poder acceder al objeto de fields
usando CAMPO.fields
.
Editar:
Ejemplo:
grid += ''+ CAMPO.fields.FQtdPessoas +' '+ CAMPO.fields.FDataFechamento +' '+ [...]
Para usar propiedades bajo el uso de campo :
item.result[0][0].fields.<>
Para el ID y el Tipo hacer:
item.result[0][0].id item.result[0][0].type
Editar:
for (i = 0; i < item.result.length; i++) { CAMPO = item.result[i][i].fields; grid += ''+ CAMPO.FQtdPessoas + ' '+ CAMPO.FDataFechamento +' '; }
En su código, CAMPO
refiere al objeto que se ve así:
{ "type": "VOMesas.TMesas", "id": 1, "fields": { "FUsers": 1, "FEnclosing": 0, "FClientName": "", "FCode": 100, "FStatus": 1, "FTotalValue": 128.25 } }
Para acceder a sus campos, use la propiedad de fields
(o configure CAMPO
en el item[i].fields
).