当前位置: 首页 > 工具软件 > BSON > 使用案例 >

数据库系统之JSON和BSON

唐俊楚
2023-12-01

JSON

Java Script Object Notation (JSON)是一种轻量级的数据交换格式。
它是基于JavaScript编程的一个子集。
JSON(ECMA-262 3rd)是建立在两个结构上的:

  1. name:value 对的集合- 对象
  2. 值的有序列表 -数组
    举一些name:value 对的例子:
"firstname": "James"}

{"city": "Sydney", "street":"Victoria", "bldg":25}

{"number": 25, "isOdd":true, "nothing":null}

Value可以是字符串或数字,也可以是true或false或null,也可以是对象或数组:

{"single quote": "\'", "back slash":"\\",
"forward slash":"\/", "line feed":"\u000A" }

{"fraction":0.25, "true":true,"false":false,
"nothing": null}

{"full name": {"first name":"James",
"initials":null,
"last name":"Bond"},
"number":"007"}

{"colours":["red", "green", "blue"]}

{"numbers":[10, 20, 30, 40, 50]}

数组值的序列:

{"2dim array":[ [11,12,13,14],
				[21,22,23,24],
				[31,32,33,34] ]}

{"array of objects": [ {"name":"James Bond"},
{"name":"Harry Potter"},
{"name":"Robin Hood"} ] }

{"array of truth":[true, false, true, true]}

{"array of nothing":[null, null, null, null, null]}

{"empty array":[ ]}

{"array of varieties":[1, "one", true, ["a", "b", "c"]]}

BSON

Binary JSON(BSON)是一种计算机数据交换格式,主要用于MongoDB数据库系统中的数据存储和网络传输格式。
BSON是一种类似json的二进制编码序列化文档(对象)。
BSON包含了JSON中没有的扩展,它允许对数据类型进行表示。
例如BSON有一个 Date类型和一个BinData类型。
常见的数据类型包括: null, boolean, number, string, array, embedded document(object)。
新的数据类型包括: date, regular expression, object id, binary data, code。
举例:

{"nothing":null}

{"truth":false}

{"pi":3.14}

{"int":NumberInt("345")}

{"long":NumberLong("1234567890987654321")}

{"greeting":"Hello !"}

{"pattern":/(Hi|Hello)!/}

{"date":new Date("2016-10-17")}

{"array of varieties":[1, "one", true, ["a", "b", "c"]]}

{"_id":ObjectId()}

{"code":function(){ /* ... */ }}

{"Double":124.56}

{"timestamp":Timestamp(1234567,0)}

{"timestamp":Timestamp()}

{"maxkey":{"$maxKey": 1} }

{"minkey":{"$minKey" : 1} }

BSON中的每个文档(对象)都必须有一个"_id"键!
“_id”键的值可以是任意类型,“_id”键的默认值是ObjectId()。
在文档(对象)的集合中,每个文档(对象)必须有一个唯一的"_id"值。
如果一个文档没有“_id”键,那么当它被插入到集合中时“_id”键将会被自动添加到文档中。

{"_id":ObjectId()}

{"_id":ObjectId("507f191e810c19729de860ea") }

References

  1. Introducing JSON, http://www.json.org/
  2. BSON, http://bsonspec.org/
  3. https://docs.mongodb.com/manual/
 类似资料: