[英]Prevent the need for including quotes for keys in json files?
我的程序中包含一個非常大的 JSON 數據文件。 該文件的格式如下所示:
{
"2":{"x":0,"y":0,"w":16,"h":16},
"3":{"x":5,"y":9,"w":7,"h":12},
"4":{"x":2,"y":5,"w":12,"h":11},
...
}
我像這樣包括它:
import * as colliders from "../assets/colliders.json";
問題是它似乎需要在鍵中使用引號。 也就是說,如果我嘗試改為使數據文件格式如下(不帶引號):
{
2:{x:0,y:0,w:16,h:16},
3:{x:5,y:9,w:7,h:12},
4:{x:2,y:5,w:12,h:11},
...
}
然后在編譯我的 Typescript 時出現以下錯誤:
Error TS1327: String literal with double quotes expected.
我可以強制使用引號,但它會使文件大小增加 33% 左右。 如果我不必在 JSON 文件中包含引號,我會更喜歡。 這可能嗎? 還是在文件大小增加的情況下保留引號是更好的做法?
您可以使該文件不是.json
文件,而是 JavaScript 或 TypeScript 文件,並執行以下操作:
// colliders.ts
export const colliders = {
2:{x:0,y:0,w:16,h:16},
3:{x:5,y:9,w:7,h:12},
4:{x:2,y:5,w:12,h:11},
// ...
}
import { colliders } from "../assets/colliders.ts";
但是,在實際應用程序中,鍵分隔符所需的額外空間幾乎可以肯定是不必擔心的。
如果您真的很在意空間,並且考慮到您似乎總是有相同的列(X、Y、W、H),我會將所有對撞機存儲在 CSV 文件中,然后創建一個例程來讀取文件並從中構建 JSON 在 memory 中。
(我不確定您是否可以在代碼中訪問文件系統,但這將是我前進的方向)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.