爲什麼說JSON不適合做配置文件?

test: ./test.sh

do_stuff: ./do_stuff.sh

bugs:

url: "https://example.com/bugs"

contributors:

- name: John Doe

email: [email protected]

- name: Ivy Lane

url: "https://example.com/ivylange"

dependencies:

dep1: ^1.0.0

# Why we depend on dep2

dep2: "3.40"

dep3: "6.7"

腳本語言

如果你的應用程序是使用 Python 或 Ruby 等腳本語言開發的,並且你知道配置的來源是可靠的,那麼最好的選擇可能就是使用這些語言進行配置。如果你需要一個真正靈活的配置選項,也可以在編譯語言中嵌入諸如 Lua 之類的腳本語言。這樣可以獲得腳本語言的靈活性,而且比使用不同的配置語言更容易實現。使用腳本語言的缺點是它可能過於強大,當然,如果配置來源是不受信任的,可能會引入嚴重的安全問題。

自定義配置格式

如果由於某種原因,鍵值配置格式不能滿足你的要求,並且由於性能或大小限制而無法使用腳本語言,那麼可以考慮自定義配置格式。如果是這種情況,那麼在做出選擇之前要想清楚,因為你不僅要編寫和維護一個解析器,還要讓你的用戶熟悉另一種配置格式。

結論

有了這麼多更好的配置語言,沒有理由還要使用 JSON。如果要創建需要用到配置的新應用程序、框架或庫,請選擇 JSON 以外的其他選項。


分享到:


相關文章: