无法在p5

时间:2017-05-10 14:11:18

标签: javascript json p5.js

这里有第一个问题,还有一个新手。

我试图在.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."
  }
]

有人可以对此有所了解吗?

由于

1 个答案:

答案 0 :(得分:0)

&#13;
&#13;
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])
  }
}
&#13;
&#13;
&#13;

在上面的代码片段中,您尝试访问密钥的元素[i]而不是对象,因为数据是一个对象数组,您需要循环访问每个对象以访问密钥,如代码段中所示。