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