天天看點

WebGL 加載模型時,javascript 解析結果的調試轉成 JSON 檢視确認數組結構

WebGL 加載模型時,javascript 解析結果的調試轉成 JSON 檢視确認數組結構

<a target="_blank" href="http://blog.csdn.net/opengl_es">轉載請保留此句:太陽火神的美麗人生 -  本部落格專注于 靈活開發及移動和物聯裝置研究:iOS、Android、Html5、Arduino、pcDuino,否則,出自本部落格的文章拒絕轉載或再轉載,謝謝合作。</a>

這麼長一個大标題,其實就一個主題,javascript 中數組轉成 JSON 串。

為什麼要這樣轉呢?本來就是從文本檔案中讀出來的,還要轉成文本,啥子彎彎道?!

有個問題,javascript 作為一種語言,其數組,也是一種記憶體組織結構,列印出來倒是可以,但那是一堆堆的便便撒(

WebGL 加載模型時,javascript 解析結果的調試轉成 JSON 檢視确認數組結構

俺靴僵話嘞)

那麼,想看到資料的同時,還要看到組織結構,那麼就找一種能描述數組結構的明文形式,在 javascript 中,JSON 必然首選!至于其它語言,我想 JSON 也是首選,不信您移步 JSON 的定義,看看是否确如其說!

确認過了沒?

好,即然您和我一樣,認同這種觀點,那麼,我們來看看如何将 javascript 中的數組轉換成 JSON 串吧。

下面,以 WebGL 處理一個長方體為例,接下來的部分,可能對研究 WebGL 的朋友,多少會有些幫助吧,至少對我很有幫助,因為我還正在研究中,這裡記錄下來的隻能算階段性成果,在 CMMI 中可以叫做裡程碑吧,而在靈活開發 scrum 中,可以叫做一個 sprint 沖刺。

模型檔案,

以上模型檔案是從 3dmax 中導出的 .obj 格式模型,其中有四部分是我們關心的,以 v、vt、vn  和 f 開頭的部分,其實 usemtl 也是可以關心的,但目前研究中一直未考慮,均隻指定一種材質,故而暫不考慮。

這裡有一個很不錯的算法,隻是有了個大體思路,一直未去實踐,也許在不久的将來,深入細節去做的時侯,會做到吧,也挺難于思考的一個家夥,期待吧。

接下來,本篇主角登場,中國式的聚會哈,越後出現的,越是主要人物。

JSON是一種取代XML的資料結構,和xml相比,它更小巧但描述能力卻不差,由于它的小巧是以網絡傳輸資料将減少更多流量進而加快速度,

那麼,JSON到底是什麼?

JSON就是一串字元串 隻不過元素會使用特定的符号标注。

{} 雙括号表示對象

[] 中括号表示數組

"" 雙引号内是屬性或值

: 冒号表示後者是前者的值(這個值可以是字元串、數字、也可以是另一個數組或對象)

是以 {"name": "Michael"} 可以了解為是一個包含name為Michael的對象

而[{"name": "Michael"},{"name": "Jerry"}]就表示包含兩個對象的數組

當然了,你也可以使用{"name":["Michael","Jerry"]}來簡化上面一部,這是一個擁有一個name數組的對象

ps:現在還有很多人存在一些誤區,為什麼{name:'json'}在檢驗時通過不了,

那是因為JSON官網最新規範規定

如果是字元串,那不管是鍵或值最好都用雙引号引起來,是以上面的代碼就是{"name":"json"}

不要反駁,官網就是這麼定義的。

繼續閱讀