javascript
bson json c语言,对比平台--JSON和BSON之间的区别
JavaScript Object Notation(JSON)是一種標(biāo)準(zhǔn)文件格式,使用人類可讀的文本來傳輸具有屬性值對(duì)和數(shù)組數(shù)據(jù)類型的數(shù)據(jù)。這是最常見的數(shù)據(jù)格式之一,主要用于異步瀏覽器-服務(wù)器通信。JSON是與語言無關(guān)的格式。另一方面,BSON是一種計(jì)算機(jī)交換格式,主要用于數(shù)據(jù)存儲(chǔ)和用作MongoDB數(shù)據(jù)庫中的網(wǎng)絡(luò)傳輸格式。它是一種簡單的二進(jìn)制形式,用于表示數(shù)據(jù)結(jié)構(gòu)和關(guān)聯(lián)數(shù)組(在MongoDB中通常稱為文檔或?qū)ο?。
讓我們?cè)敿?xì)研究JSON和BSON:
BSON代表二進(jìn)制JSON,它由包含字段名稱,類型和值的有序元素列表組成。字段名稱類型通常是一個(gè)字符串。它的基礎(chǔ)包括JavaScript,并且當(dāng)今有許多編程語言可以利用該代碼生成和解析與JSON格式相關(guān)的數(shù)據(jù)。
BSON類型支持日期和二進(jìn)制數(shù)據(jù),由于其性質(zhì),它不是可讀形式,而普通的JSON文件由鍵值對(duì)組成。BSON文件總是小于JSON文件不是強(qiáng)制性的,但是它肯定會(huì)跳過無關(guān)的記錄,而對(duì)于JSON,則需要解析每個(gè)字節(jié)。這是在MongoDB中使用它的主要原因。
BSON類型格式是輕量級(jí)的,高度可遍歷的并且本質(zhì)上是快速的。BSON實(shí)現(xiàn)用于支持將對(duì)象和數(shù)組嵌入其他對(duì)象中。可以在BSON對(duì)象內(nèi)部建立索引,并將對(duì)象與頂層和BSON鍵上的查詢表達(dá)式進(jìn)行匹配。BSON是二進(jìn)制編碼的JSON文檔,用于將文檔存儲(chǔ)在集合中。BSON中添加了對(duì)JSON不支持的數(shù)據(jù)類型(如二進(jìn)制和日期)的支持。
實(shí)際上,不需要有關(guān)BSON的許多信息。僅使用語言的本機(jī)類型和所提供的類型(例如驅(qū)動(dòng)程序的ObjectID)是必需的,并且映射將自行完成到BSON類型。
兩者都是市場(chǎng)上流行的選擇。讓我們討論一些主要區(qū)別:
BSON是JSON的序列化格式編碼格式,主要用于存儲(chǔ)和訪問文檔,而JSON是一種人類可讀的標(biāo)準(zhǔn)文件格式,主要用于以鍵值屬性對(duì)的形式傳輸數(shù)據(jù)。
BSON的設(shè)計(jì)占用了更少的空間,但它并不比JSON高效。實(shí)際上,BSON在某些情況下比JSON使用更多的空間。其原因是可遍歷性,這意味著BSON向文檔添加了一些附加信息,例如字符串長度和子對(duì)象,這反過來又使遍歷更快。
BSON的設(shè)計(jì)還具有相對(duì)較快的編碼和解碼技術(shù)。例如,所有那些整數(shù)都存儲(chǔ)為32位整數(shù),這樣就不會(huì)與它們?cè)谖谋局g進(jìn)行解析。因此,與JSON相比,對(duì)于較小的整數(shù),它占用更多空間,但是BSON解析起來要快得多。
除了上述要點(diǎn)外,BSON還使用JSON中不可用的其他數(shù)據(jù)類型,例如BinData和Date數(shù)據(jù)類型.BSON擴(kuò)展了JSON類型模型,以提供其他數(shù)據(jù)類型,以便在不同語言中更有效地進(jìn)行編碼和解碼而對(duì)于JSON,則未提供此類規(guī)定。它促進(jìn)了數(shù)據(jù)交換以及與XML(主要是主要格式)一起使用。JSON支持您可以想到的所有基本數(shù)據(jù)類型,例如數(shù)字,字符串和其他布爾值。它還支持哈希和數(shù)組等數(shù)據(jù)類型。BSON使用JSON類型格式以與文檔以關(guān)系數(shù)據(jù)庫中的行和列形式存儲(chǔ)數(shù)據(jù)的方式完全相同的方式以文檔形式存儲(chǔ)數(shù)據(jù)。
總結(jié)
以上是生活随笔為你收集整理的bson json c语言,对比平台--JSON和BSON之间的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python元组元素删除_Python3
- 下一篇: circlegan_【源码解读】cycl