簡體   English   中英

是否需要在 json 文件中包含鍵的引號?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM