JSON.parse:预期的双引号属性名称(var json = JSON.parse(xhr.responseText);)

时间:2013-03-21 18:24:23

标签: json three.js

https://www.dropbox.com/s/h59v7elqn05t7lc/bag.js

以下代码给出了json文件的链接

SyntaxError: JSON.parse: expected double-quoted property name

使用Javascript:

var init = function () {
    var canv = document.getElementsByTagName("canvas")[0];
    var w = canv.clientWidth;
    var h = canv.clientHeight;

    var renderer = new THREE.WebGLRenderer({
        canvas: canv
    });
    renderer.setSize(w, h);

    var scene = new THREE.Scene();

    var camera = new THREE.PerspectiveCamera(
        15, // Field of view
    w / h, // Aspect ratio
    0.1, // Near
    10000 // Far
    );
    camera.position.set(-1, 1, 15);
    scene.add(camera);

    var light = new THREE.PointLight(0xFFFFDD);
    light.position.set(-15, 10, 15);
    scene.add(light);

    var ambient = new THREE.AmbientLight(0x999999);
    scene.add(ambient);

    var loader = new THREE.JSONLoader();
    var onGeometry = function (geom) {
        var mesh = new THREE.Mesh(geom, new THREE.MeshFaceMaterial());
        scene.add(mesh);
    };
    loader.load("vwbug.js", onGeometry);

    var render = function () {
        renderer.render(scene, camera);
    };

    setInterval(render, 10);
};

window.onload = init;
window.onresize = init;

1 个答案:

答案 0 :(得分:11)

我认为这是由第8行的额外逗号引起的。

"materials": [ { 
    "DbgColor" : 15658734, 
    "DbgIndex" : 0, 
    "DbgName" : "dummy", 
    "colorDiffuse" : [ 1, 0, 0 ], 
} ],

要发现验证工具可能有用的问题,例如http://jsonlint.com