无法遍历 p5 中的 json 列表

Can't loop over a json list in p5

这里的第一个问题,完全是新手问题。

我正在尝试用 .p5 编写一个脚本来加载一个 .json 文件并打印出给定类别的所有结果。如果我调用一个特定的条目,它会打印出结果,但我不明白为什么在尝试循环时它没有打印出来。

像这样:

var data;

function preload() {
    data = loadJSON("assets/data-test.json");
}

function setup() {

    noCanvas();

    var cdu = data.cdu;
    var qtde = data.qtde;
    var autor = data.autor;
    var titulo = data.titulo;
    var sub_titulo = data.sub_titulo;
    var isbn = data.isbn;
    var publicacao = data.publicacao;

    for (var i = 0; i < cdu.length; i++) {
        createElement("h1",data[i].cdu);
    }

}

我的 .json 文件如下所示:

[
  {
    "cdu": "53 F363f  Ac.1028543",
    "qtde": 3,
    "autor": "FERNANDES, C. E. de M.",
    "titulo": "Fundamentos de física para geociências.",
    "sub_titulo": "",
    "isbn": "ISBN 9788571931596.",
    "publicacao": "Rio de Janeiro:  Intercincia,  2007."
  },
  {
    "cdu": "37(81) F137s  Ac.1019442",
    "qtde": 1,
    "autor": "BOHN, Hilario Inacio;  SOUZA, Osmar de (Org.).",
    "titulo": "Faces do saber:",
    "sub_titulo": "desafios à educaáão do futuro.",
    "isbn": "ISBN 9788574741109.",
    "publicacao": "Florianópolis:  Insular,  [2002?]."
  },
  {
    "cdu": "001 A474f  Ac.262110",
    "qtde": 8,
    "autor": "ALVES, Rubem.",
    "titulo": "Filosofia da cincia:",
    "sub_titulo": "Introdução ao jogo e suas regras.",
    "isbn": "ISBN 97588585470531.",
    "publicacao": "São Paulo:  Ars Poetica,  1996."
  }
]

有人可以给我一些说明吗?

谢谢

var data = [
  {
    "cdu": "53 F363f  Ac.1028543",
    "qtde": 3,
    "autor": "FERNANDES, C. E. de M.",
    "titulo": "Fundamentos de física para geociências.",
    "sub_titulo": "",
    "isbn": "ISBN 9788571931596.",
    "publicacao": "Rio de Janeiro:  Intercincia,  2007."
  },
  {
    "cdu": "37(81) F137s  Ac.1019442",
    "qtde": 1,
    "autor": "BOHN, Hilario Inacio;  SOUZA, Osmar de (Org.).",
    "titulo": "Faces do saber:",
    "sub_titulo": "desafios à educaáão do futuro.",
    "isbn": "ISBN 9788574741109.",
    "publicacao": "Florianópolis:  Insular,  [2002?]."
  },
  {
    "cdu": "001 A474f  Ac.262110",
    "qtde": 8,
    "autor": "ALVES, Rubem.",
    "titulo": "Filosofia da cincia:",
    "sub_titulo": "Introdução ao jogo e suas regras.",
    "isbn": "ISBN 97588585470531.",
    "publicacao": "São Paulo:  Ars Poetica,  1996."
  }
]

/***************************************
data in this case is the individual object 
and key is the key in relation to the 
key value pairs

****************************************/
for(var i =0; i < data.length; i++){
  for(key in data[i]){
    console.log('KEY', key, ' ELEMENT', data[i][key])
  }
}

在上面的代码片段中,您尝试访问键的元素 [i] 而不是对象,因为数据是一个对象数组,您需要遍历每个对象才能访问代码片段中的键。