javascript - 使用 p5.js 在 JavaScript 中未定义 JSON 属性
问题描述
我刚刚开始学习编码,这是我在这里的第一篇文章,所以如果我在这里违反任何规则,请原谅我......所以这是我的问题,看起来很简单,但我无法弄清楚问题出在哪里. 我有一个这样的 JSON 文件:
{"imgj":
[
{
"id":"1",
"user_id":"1",
"tag":"siteplan",
"imageurl":"images/cb.jpg"
},
{
"id":"2",
"user_id":"2",
"tag":"floorplan",
"imageurl":"images/cbb.jpg"
},
{
"id":"3",
"user_id":"1",
"tag":"section",
"imageurl":"images/postit.png"
},
{
"id":"4",
"user_id":"2",
"tag":"siteplan",
"imageurl":"images/avatar_default.jpg"
}
]
}
在我的 .js 文件中,我试图从 JSON 文件中获取 img 的数据,但总是失败。
p.preload=function(){
var url ='imglist.json';
imglist = p.loadJSON(url);
for(var i=0; i<4; i++) {
imgurl = imglist.imgj[i].imageurl;
img[i]=p.loadImage("imgurl");
}
};
控制台的结果如下图所示:
console.log(typeof imglist == 'object'); //return true
console.log(imglist); //return {} imgj:(4)[{...},{...},{...},{...}]
console.log(imglist.imgj[1]); //return undefined
似乎我的 JSON 文件已成功读取为对象,但无法读取它的属性。这真的很奇怪。
解决方案
这应该可以,但是它只是获取解决方法。我不知道如何访问这个由 loadJSON 制作的非自己的属性。
p.preload= function(){
var url ='imglist.json';
fetch(url)
.then(data=>data.json())
.then(imglist=>{
//imglist = p.loadJSON(url);
console.log(imglist.imgj[0]); // Object { id: "1", user_id: "1", tag: "siteplan", imageurl: "images/cb.jpg" }
for(let i = 0;i< imglist.imgj.length;i++) {
imgurl = imglist.imgj[i].imageurl;
img[i]=p.loadImage(imgurl);
}});
};
推荐阅读
- python - Python 尝试/最终使用 sys.exc_info()
- microsoft-graph-api - Microsoft Graph 中的 Bookings API - OptOutOfCustomerEmail = true 会导致发送确认电子邮件
- sql - 如何根据另一个表从一个表中获取数据?
- node.js - 使用 npm-registry-client 发布包时出错
- amazon-eks - AWS ALB 504 网关超时错误 - EKS 工作节点、SpringBoot API
- python - 查找 google 共享驱动器文件夹 ID
- nasm - 来自 NASM 的 %line 指令等效于 MASM
- flutter - 具有重复键形式的 Dart Http POST
- c++ - C ++:为字符串赋值时出现问题(摘要不可用......)
- python-3.x - 寻找函数的最佳输入变量(Python