2014-10-18 80 views
0

所以我試圖用SceneExporter導出three.js所的場景,我只是做這個three.js所SceneExporter得到未捕獲的語法錯誤

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文件

"{ 
    \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-10?

+0

我已經用ObjectExporter導出成功,也許最好現在就用這個​​ – 2014-10-18 08:46:01

回答

1

語法錯誤是一個「Unexpected token:ILLEGAL」字符,可能是由您在字符串外使用「\ n \ t \ t」和其他字符串(轉義序列)引發的。我不知道你想用字符串外的轉義序列來實現什麼,我甚至不知道是否應該在JSON中使用特殊字符。

另外,我在某些字符串中看到「\」。你不能使用「\」。但是,您可以使用「\」,即「\」的轉義序列。在字符串中使用單個「\」會給你「意外的標記:非法」錯誤。 「\」後面必須緊跟一個使有效轉義序列的字符。

+0

對,嗯,我會在three.js github回購上發佈這個問題,因爲這似乎是一個bug方式'SceneExporter'構造它的JSON輸出。我也會在接受你的回答後再看一遍,謝謝! – 2014-10-18 19:35:37

+0

嗨@RohanDeshpande我遇到了同樣的問題,並想知道你是否曾經找到過解決方案。 – Kahless 2014-12-17 20:16:18

+0

嗯,我停止使用'SceneExporter',我想它會變成不推薦使用。改用'ObjectExporter'。 – 2014-12-17 22:02:23

相關問題