DocumentDB – 数据类型
DocumentDB – 数据类型
JSON 或 JavaScript Object Notation 是一种轻量级的基于文本的开放标准,专为人类可读的数据交换而设计,也易于机器解析和生成。JSON 是 DocumentDB 的核心。我们通过网络传输 JSON,我们将 JSON 存储为 JSON,我们索引 JSON 树,允许对完整的 JSON 文档进行查询。
JSON 格式支持以下数据类型 –
S.No. | 类型和描述 |
---|---|
1 |
Number JavaScript 中的双精度浮点格式 |
2 |
String 带有反斜杠转义的双引号 Unicode |
3 |
Boolean 对或错 |
4 |
Array 有序的值序列 |
5 |
Value 它可以是字符串、数字、真假、空值等。 |
6 |
Object 键值对的无序集合 |
7 |
Whitespace 它可以在任何一对令牌之间使用 |
8 |
Null 空的 |
让我们看一个简单的示例 DateTime 类型。将出生日期添加到客户类。
public class Customer { [JsonProperty(PropertyName = "id")] public string Id { get; set; } // Must be nullable, unless generating unique values for new customers on client [JsonProperty(PropertyName = "name")] public string Name { get; set; } [JsonProperty(PropertyName = "address")] public Address Address { get; set; } [JsonProperty(PropertyName = "birthDate")] public DateTime BirthDate { get; set; } }
我们可以使用 DateTime 存储、检索和查询,如下面的代码所示。
private async static Task CreateDocuments(DocumentClient client) { Console.WriteLine(); Console.WriteLine("**** Create Documents ****"); Console.WriteLine(); var document3Definition = new Customer { Id = "1001", Name = "Luke Andrew", Address = new Address { AddressType = "Main Office", AddressLine1 = "123 Main Street", Location = new Location { City = "Brooklyn", StateProvinceName = "New York" }, PostalCode = "11229", CountryRegionName = "United States" }, BirthDate = DateTime.Parse(DateTime.Today.ToString()), }; Document document3 = await CreateDocument(client, document3Definition); Console.WriteLine("Created document {0} from typed object", document3.Id); Console.WriteLine(); }
编译执行上述代码,创建文档后,你会看到现在添加了出生日期。
**** Create Documents **** Created new document: 1001 { "id": "1001", "name": "Luke Andrew", "address": { "addressType": "Main Office", "addressLine1": "123 Main Street", "location": { "city": "Brooklyn", "stateProvinceName": "New York" }, "postalCode": "11229", "countryRegionName": "United States" }, "birthDate": "2015-12-14T00:00:00", "_rid": "Ic8LAMEUVgAKAAAAAAAAAA==", "_ts": 1450113676, "_self": "dbs/Ic8LAA==/colls/Ic8LAMEUVgA=/docs/Ic8LAMEUVgAKAAAAAAAAAA==/", "_etag": "\"00002d00-0000-0000-0000-566efa8c0000\"", "_attachments": "attachments/" } Created document 1001 from typed object