JSON 文件

JSON 文件由欄位組成,這些欄位是名稱/值配對物件。 這些欄位可以任意順序,並以巢狀方式或陣列方式排列。

沒有強制執行文件結構。 因此,相同集合中的其他文件可能具有這些欄位的子集、額外欄位或相同欄位的不同表示法。

欄位名稱一律為「字串」類型,並作為欄位的索引鍵,因此它必須是唯一的。 值可以是任何支援的 JSON 資料類型。 前六個資料類型 (從 java.lang.Stringjava.util.Date) 由 JSON 辨識。 接下來的類型是可以儲存在 JSON 儲存庫中,但需要在外部使用 MongoDB定義的函數或 Java™ 語言建構來呈現的延伸。
表 1. JSON 資料類型
資料類型 JSON 格式的範例
java.lang.String "字串"
java.lang.Integer 3
java.lang.Long 4294967296
java.lang.Double 6.2
java.Lang.Boolean true/false
java.lang.Byte [] { "$binary": "(base64-encoded value)", "$type": "0" }
java.util.Date (毫秒精準度,以世界標準時間 (UTC) 表示) { "$date" : "1998-03-11T17:14:12.456Z" }
java.util.regex.Pattern { "$regex" : "ab*" , "$options" : "" }
java.util.UUID { "$uuid" : "fb46f9a6-13df-41a2-a4e3-c77e85e747dd" }
com.ibm.nosql.bson.types.ObjectId { "$oid" : "51d2f200eefac17ea91d6831" }
com.ibm.nosql.bson.types.Code { "$code" : "mycode" }
com.ibm.nosql.bson.types.CodeWScope {"$code": "i=i+1" , "$scope": {}}
com.ibm.nosql.json.api.BasicDBObject {"a": 1 , "b": { "c" : 2 } }
com.ibm.nosql.json.api.BasicDBList [1 , 2 , "3" , "abc" , 5]

對於 Date 字串值,用戶端會將值轉換為「世界標準時間」,以儲存在 Db2® 資料庫中。 它也會以「世界標準時間 (UTC)」格式擷取為 Date

下列範例代表具有陣列值及巢狀物件的範例 JSON 文件:
9
{
	name:"Joe",
	age:25,
	phone:["555-666-7777", "444-789-1234"],
	homeAddress:
		{street:"Sycamore Avenue",
		city: “Gilroy”,
		zipcode:"95046"
		}
	businessAddress:
		{
		street:"Bailey Avenue",
		City: “San Jose”,
		zipcode:"95141"
		}
}