如何对待javascript var

时间:2016-01-30 01:34:03

标签: javascript json

我有这个:

var json = jQuery.parseJSON(data);
    console.log(json)

输出是:

Object {sql: "SELECT venta.cliente_tipodoc,count(*) AS cantidad FROM venta venta", results: Array[1], dataForChart: Array[1], tableOrder: Array[2], chartOrder: Array[2]…}chartOrder: Array[2]0: "cantidad"1: "cliente_tipodoc"length: 2__proto__: Array[0]dataForChart: Array[1]encabezados: Array[2]grafica: "[[agrupamiento:[[atributo:cliente_tipodoc, tabla:venta]], dato:[conteo:1, texto:Cantidad], tipo:pie-chart]]"

最后我需要的是访问“grafica”值及其内在值。我试过“json.grafica”,但这给了我:

grafica:[[agrupamiento:[[atributo:cliente_tipodoc, tabla:venta]], dato:[conteo:1, texto:Cantidad], tipo:pie-chart]]

我需要在json.grafica

中访问“tipo”值

谢谢你的建议

1 个答案:

答案 0 :(得分:1)

这是一个物体助行器。将obj替换为您的数据,您可以通过它来查看内部的内容。

function walk(data, callback) {
  var chain = [];

  function loop(data) {
    if (typeof data == "object") {
      if (Array.isArray(data)) {
        for (var i = 0, len = data.length; i < len; i++) {
          chain.push("[" + i + "]");
          loop(data[i]);
          chain.pop();
        }
      } else {
        for (var k in data) {
          chain.push("." + k);
          loop(data[k]);
          chain.pop();
        }
      }
    } else {
      callback(data, chain);
    }

  }

  loop(data);
}

var obj = {
  a: 1,
  b: 2,
  c: [1, 2, 3, {
    d: 5,
    e: 6,
    f: 7
  }]
};

walk(obj, function(data, chain) {
  document.getElementById('out').innerHTML += "obj" + chain.join("") + " = " + data + "\n";
});
<pre id="out"></pre>