我只是想尝试使用threejs绘制图表,所以我只是准备一个data.json
{
"chart": [
{
"Year": "2005",
"Money": "550",
"Number": "35"
},
{
"Year": "2006",
"Money": "600",
"Number": "40"
}
] }
启动JSONLoader&打电话
var loader = new THREE.JSONLoader();
loader.load("data.json",function(a){
//console.log(a);
});
并且收到错误说“无法读取未定义的属性'长度”
我不确定这里有什么问题。但正如猜测我认为threejs无法读取这样的正常数据。我看到所有其他的例子,其他人从json获取模型或几何。我们需要存储json数据的特殊格式吗?或者我们需要使用jquery和threejs?
答案 0 :(得分:1)
JSON是数据交换的通用格式(如XML),正如@lot所说,您需要以three.js格式创建JSON。不幸的是,这种格式似乎是not documented anywhere。它可以使用此blender exporter创建,但我想在不使用Blender的情况下手动编写代码。为此,我使用了可用的示例here,其中加载了these json files。
似乎有decision开始调用threejs json文件.3geo,.3obj和.3mat。但是,这似乎是never happened。
编辑:啊哈,我毕竟发现了一些documentation!答案 1 :(得分:0)
THREE.JSONLoader类用于以特殊数据格式加载网格物体。例如,您可以使用它来加载在Blender中创建的对象。你不能以这种方式加载任何 json。
您必须使用标准方式获取JSON(jQuery或本机HttpRequest类),然后使用您自己的代码在场景中创建网格。