Three.js SceneExporter获取Uncaught Syntax错误

时间:2014-10-18 08:10:22

标签: javascript json three.js

所以我试图使用SceneExporter导出一个three.js场景,我只是这样做

var output = new THREE.SceneExporter().parse(scope.renderingEngine.scene);

执行此操作时,我收到错误

Uncaught SyntaxError: Unexpected token u

发生在SceneExporter.js的第750行(这是解析JSON的行; new THREE.SceneExporter().parse(scope.renderingEngine.scene);

我在场景中没有任何花哨的东西,只是一堆几何形状。我甚至尝试了一个没有纹理的场景,但仍然遇到了这个错误。

现在,如果我更改该行只是返回output然后JSON.stringify(output)并保存此文件,则文件的JSON不会验证。我收到以下错误

Parse error on line 1:
"{    \n\t\"metadat
^
Expecting '{', '['

这是JSON文件的第1-10行

"{
    \n\t\"metadata\": {
        \n\t\t\"formatVersion\": 3.2,
        \n\t\t\"type\"\t\t: \"scene\",
        \n\t\t\"generatedBy\"\t: \"SceneExporter\",
        \n\t\t\"objects\": 153,
        \n\t\t\"geometries\": 144,
        \n\t\t\"materials\": 5,
        \n\t\t\"textures\": 1\n\t
    },
    \n\n\t\"urlBaseType\": \"relativeToScene\",

其他人有这个问题吗?

1 个答案:

答案 0 :(得分:1)

语法错误是一个“意外的令牌:ILLEGAL”字符,可能是由于您使用“\ n \ t \ t”和其他字符串(转义序列)而引发的。我不知道你想用字符串之外的转义序列实现什么,我甚至不知道是否应该在JSON中使用特殊字符。

另外,我在你的一些字符串上看到“\”。你不能使用“\”。但是,您可以使用“\”,即“\”的转义序列。在字符串中使用单个“\”将为您提供“意外令牌:ILLEGAL”错误。 “\”必须始终后跟一个生成有效转义序列的字符。