摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。是一個(gè)格式的擴(kuò)展,目的是能夠讓人類更容易讀寫數(shù)據(jù)文件。只是一個(gè)第三方的庫(kù),并非格式的繼任者。相對(duì)于,有如下各個(gè)方面優(yōu)勢(shì)。
NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。·
JSON是JS中數(shù)據(jù)交換時(shí)最常用的數(shù)據(jù)格式,其序列話和反序列化性能非常好,但是其語(yǔ)法卻比較嚴(yán)格,比如以下是一個(gè)合法的JS聲明,卻不是一個(gè)合法的JSON:
{ foo: "bar" }
JSON格式強(qiáng)制要求對(duì)象key必須以雙引號(hào)包含,字符串也必須使用雙引號(hào),等等。
如果我們只是調(diào)用 JSON.stringify() 和 JSON.parse() 來(lái)進(jìn)行數(shù)據(jù)的處理,那么也沒(méi)什么關(guān)系,但是如果我們需要手寫JSON,比如寫配置文件或數(shù)據(jù)模式定義,那么嚴(yán)格的JSON語(yǔ)法檢查會(huì)給編碼帶來(lái)很多不便。
JSON5JSON5 是一個(gè)JSON格式的擴(kuò)展,目的是能夠讓人類更容易讀寫數(shù)據(jù)文件。JSON5只是一個(gè)第三方的庫(kù),并非JSON格式的繼任者。JSON5相對(duì)于JSON,有如下各個(gè)方面優(yōu)勢(shì)。
對(duì)象:
屬性key可以不用引號(hào)包含
屬性key可以用單引號(hào)包含
可以有尾部多余逗號(hào)
數(shù)組:
可以有尾部多余逗號(hào)
字符串:
可以以單引號(hào)包含
支持多行字符串
數(shù)字:
可以以16進(jìn)制表示
可以以小數(shù)點(diǎn)開頭或結(jié)尾
支持 Infinity, -Infinity, NaN, 和 -NaN.
可以顯式聲明正號(hào) +
注釋:
允許當(dāng)行和多行注釋
如下就是一個(gè)合法的JSON5格式文件:
{ foo: "bar", while: true, this: "is a multi-line string", // this is an inline comment here: "is another", // inline comment /* this is a block comment that continues on another line */ hex: 0xDEADbeef, half: .5, delta: +10, to: Infinity, // and beyond! finally: "a trailing comma", oh: [ "we shouldn"t forget", "arrays can have", "trailing commas too", ], }
處理JSON5數(shù)據(jù):
const JSON5 = require("json5"); let obj = JSON5.parse("{unquoted:"key",trailing:"comma",}"); let str = JSON5.stringify(obj);參考資料
https://github.com/json5/json5
http://json5.org
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/107539.html
摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。在酷庫(kù)中,我們了解到了相對(duì)于格式更加易于編寫和維護(hù)的,今天我們繼續(xù)學(xué)習(xí)另外一個(gè)更加簡(jiǎn)單易讀的數(shù)據(jù)格式。是一個(gè)專門用來(lái)讀寫格式數(shù)據(jù)的庫(kù),他可以將對(duì)象轉(zhuǎn)換成字符串,也可以將字符串轉(zhuǎn)換為對(duì)象。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。· 在NPM酷庫(kù)044中,我們了解到了相對(duì)于JSON格式更加易于編寫和維護(hù)的JSON5,今天我們繼續(xù)學(xué)習(xí)另外一個(gè)更加簡(jiǎn)單...
摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。前兩期我們分別介紹了和,這兩種數(shù)據(jù)格式相對(duì)于,更加易于人類編寫和理解,今天我們繼續(xù)介紹另外一個(gè)容易編寫的格式。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。· 前兩期我們分別介紹了JSON5和YAML,這兩種數(shù)據(jù)格式相對(duì)于JSON,更加易于人類編寫和理解,今天我們繼續(xù)介紹另外一個(gè)容易編寫的格式 CSON。 CSON格式全稱是 CoffeeScript...
摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。下方就是一個(gè)類型的配置文件庫(kù)在中,我們使用庫(kù)來(lái)解析文件參考資料 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。· 最近幾期我們都在研究各種數(shù)據(jù)文件類型,包括JSON5、YAML、CSON等,相對(duì)于JSON,這些格式能夠更加易于人類編寫和理解,所以更適合做配置文件,今天我們繼續(xù)學(xué)習(xí)如何解析Windows系統(tǒng)上常用的*.ini配置文件。 下方就是一個(gè)INI...
摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。在前幾期酷庫(kù)中,我們介紹了操作等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到格式的接口協(xié)議。本期,我們先來(lái)了解,用來(lái)創(chuàng)建格式文檔。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。· 在前幾期NPM酷庫(kù)中,我們介紹了Node.js操作JSON5、YAML、CSON、CSV等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到XML格式的接口協(xié)議。從本期開...
摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。在前幾期酷庫(kù)中,我們介紹了操作等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到格式的接口協(xié)議。本期,我們先來(lái)了解,用來(lái)創(chuàng)建格式文檔。 NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)。· 在前幾期NPM酷庫(kù)中,我們介紹了Node.js操作JSON5、YAML、CSON、CSV等數(shù)據(jù)格式文件,在外部系統(tǒng)接口中,我們還會(huì)經(jīng)常遇到XML格式的接口協(xié)議。從本期開...
閱讀 3309·2021-11-18 10:02
閱讀 2755·2019-08-30 13:56
閱讀 415·2019-08-29 12:36
閱讀 527·2019-08-28 18:07
閱讀 716·2019-08-27 10:51
閱讀 3452·2019-08-26 12:13
閱讀 3291·2019-08-26 11:46
閱讀 3318·2019-08-23 12:00