JSON 文件
JSON 文件由欄位組成,這些欄位是名稱/值配對物件。 這些欄位可以任意順序,並以巢狀方式或陣列方式排列。
沒有強制執行文件結構。 因此,相同集合中的其他文件可能具有這些欄位的子集、額外欄位或相同欄位的不同表示法。
欄位名稱一律為「字串」類型,並作為欄位的索引鍵,因此它必須是唯一的。 值可以是任何支援的 JSON 資料類型。 前六個資料類型 (從 java.lang.String 到 java.util.Date) 由 JSON 辨識。 接下來的類型是可以儲存在 JSON 儲存庫中,但需要在外部使用 MongoDB定義的函數或 Java™ 語言建構來呈現的延伸。
| 資料類型 | 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"
}
}