如何在processing.js中访问json数据
how to access json data in processing.js
我正在尝试访问json数据,该数据位于我的项目文件夹中的数据文件夹中。但我得到了"Uncaught Processing.js:无法执行pjs sketch:ReferenceError:loadJSONArray is not defined"错误。
JSON数据如下:
[
{
"month": "january",
"total": 32393,
"disease": 2761,
"wounds": 83,
"other": 324
},
{
"month": "february",
"total": 30919,
"disease": 2120,
"wounds": 42,
"other": 361
}
]
这是我的HTML文件,我使用的是1.3.6版本的处理程序。
<html>
<head>
<script src="processing-1.3.6.js"></script>
</head>
<body>
<canvas data-processing-sources="demo.pde"></canvas>
</body>
</html>
以下是我的处理代码。(demo.pde)
JSONArray values;
void setup() {
size(800,600);
background(255);
noLoop();
values = loadJSONArray("data/data.json");
for (int i = 0; i < values.size(); i++) {
JSONObject deads = values.getJSONObject(i);
int total = deads.getInt("total");
String month = deads.getString("month");
println(total + ", " + month);
}
}
如果您能够安装jQuery,您可以轻松地调用$.ajax({})
或更具体地说$.getJson({})
等方法,从而可以使用$.each
循环显示结果。
jQuery API文档中给出的示例:
$.getJSON( "data/data.json", function( data ) {
$.each( data, function( key, val ) {
// YOUR CODE
// example:
var result = val.total + ' ' + val.month;
});
});
更新:
这里有一个JsFiddle,展示了如何使用$.each()
Processing.js还不支持loadJSONArray,而且所有数据请求在JavaScript中都是异步的,因此loadJSONArray不能像Processing API现在让它工作的那样工作。
您可以简单地在纯JS上下文中加载值,然后将它们输入到草图中(如下http://processingjs.org/articles/PomaxGuide.html或类似物)
相关文章:
- 访问JSON对象内部的数组元素
- 访问json数组中的对象
- 如何访问JSON元素
- 使用Backbone.js访问JSON响应的部分
- JS/JON-通过JS访问JSON中的多个数组
- 对于循环未正确访问 JSON 对象
- 使用 jasmine-node / frisby 访问 JSON 值
- 如何访问 JSON 对象数组的第一个元素
- 如何在 for 循环中访问 json 数组字段的名称
- Javascript 不会访问 json 对象
- 无法访问JSON对象的值
- 无法访问json对象中的数据
- 访问JSON对象中的特定值
- 如何通过javascript访问JSON数据
- 从Web服务访问JSON响应
- 我可以't访问JSON中的第一个对象
- 是否有可能访问JSON对象中列出的jQuery选择器
- 为什么我可以't使用点表示法访问JSON字典元素
- 访问JSON数组时出现问题
- 如何在processing.js中访问json数据