[ 首頁 / 搜尋 / 管理Discord ] [ Komica首頁 ] [ 跨版面 ] [ 雜談 / / 攝影 / 運動 ] [ 人工智慧 / 程設交流 ] [ 蔚藍檔案 / 英雄聯盟 / 米哈遊 / Minecraft / 魔物獵人 / 勝利女神:妮姬 / Pokémon / 刀劍亂舞 / Unlight ]

/cs/ - 程設交流

Computer science
名稱
Email
主題
回覆
檔案
嵌入
Options
密碼 (用來刪除檔案。)
  • Allowed file types:jpg, jpeg, png, gif, mp4, webm
  • Max filesize is 10 MB.
  • Max image dimensions are 10000 x 10000.
  • You may upload 1 per post.

  [Go to bottom]   [Catalog]   [返回]   [Archive]   [Featured]

File: 1732351693750.jpg (107.91 KB, 1000x1000, json.jpg)

c790f299 No.231

網際網路世界中,JSON是重要的標記語言。
JSON非常有名且重要的一個特性就是「沒有註解」。
https://medium.com/@marycriv/why-json-doesnt-allow-comments-fe93f7106c62
https://www.ietf.org/rfc/rfc4627.txt

有印象設計JSON格式的人也有解釋過原因,不過一時找不到。

但這幾年,隨著JSON被大量運用在config檔中。
尤其是VSCode的設定檔。
似乎出現了某種可以寫註解的JSON變種。
因為微軟一貫的就是要你搞混原則,
所以附檔名也還是.json,就跟 xxx.js裡面其實有可能是TypeScript一樣,
搞到不分資深資淺的低能兒以為JSON真的可以寫註解。

所以說,VSCode或是現在這些可以寫註解的變種,
有甚麼統一的規格名稱嗎?
還是真的就是個組織各自研究?

5cad1cdd No.233

大概是json5吧
不確定有沒有其他變種有名的

06c7634a No.235

File: 1732419062077.jpg (93.25 KB, 1280x1792, 68.jpg)

原因是為了避免向解析器添加更多任務,但仍然可以寫註釋為數據,或使用特殊符號來跳過解析。


{
"_comment": "註解"
}



{
"key": 1,
"comment":"註解"
}

0c768898 No.236

>>233

前陣子發現Notepad++有增加JSON5的格式才注意到。

>>235

不是要寫註解,
是要知道那種寫註解的格式有沒有名字或是規格可以看。
過一陣子可能就會需要跟人爭論JSON到底能不能寫註解。

fbff737a No.238

JSON一開始是設計給程式之間交流資料用的
並且為了方便人眼可以簡單確認資料,所以有最低程度的可讀性

可讀性只有最低程度

作為設定檔本來就不是一開始的設計用途

不過大家懶,所以就順便用了

設定檔推薦用 yaml

fbff737a No.239


5cad1cdd No.240


74585d7f No.243

>>238
json我最賭爛的是Date還要我自己轉
媽的

1f1a8b0f No.244

>>243

還有負數沒辦法用數字得用字串處理的問題…
跳脫也是很煩。

85358112 No.299

>>231
因為微軟一貫的就是要你搞混原則(X)
微軟就是唯一規則,微軟做什麼都是對的(O)

微軟門外漢根本就沒搞懂JSON是幹嘛的
這東西設計上就是給程式讀寫的
就不是給人類閱讀的
要註解幹嘛?
只會害你寫出更複雜的parser而已

69944b5e No.300

>>299
>>微軟門外漢根本就沒搞懂JSON是幹嘛的

微軟門外漢(X)
整個社群(O)

一直都有這種不肯學新東西,只想到一招打天下的生物在。
jsonc/json5差不多就是這種狀況的產物。

>>這東西設計上就是給程式讀寫的


字串跳脫真的是痛苦。很清楚可以感受到這沒有要給人用的意圖。

>>只會害你寫出更複雜的parser而已


這點複雜度其實還好,而且要說複雜的話,JSON其實只比XML少一點東西而已。
設計者 Douglas Crokford 就有解釋過是故意不給註解的:因為大家都愛在註解裡面塞奇怪的Prerocess指令之類的東西。

好消息是至少現在IEEE規格裡的JSON還是沒有註解。

69944b5e No.302

>>299

https://github.com/json5/json5/commits/main/?
35e6182551b63809e61243b0+419
JSON5 2012就開始了。

https://github.com/onury/jsonc/commits/master/

JSONC就晚一點,在時間點上來看,應該跟VSCode是差不多同期的東西。
大概是微軟這陣子的從善(被)如(奪)流(舍)政策吧。



[Go to top] [Catalog] [返回][Post a Reply]
刪除貼文 [ ]
[ 首頁 / 搜尋 / 管理Discord ] [ Komica首頁 ] [ 跨版面 ] [ 雜談 / / 攝影 / 運動 ] [ 人工智慧 / 程設交流 ] [ 蔚藍檔案 / 英雄聯盟 / 米哈遊 / Minecraft / 魔物獵人 / 勝利女神:妮姬 / Pokémon / 刀劍亂舞 / Unlight ]