Meteor EJSON

EJSON是JSON語法的擴展,支持日期和二進制類型。

安裝EJSON

要安裝JSON包,我們需要從命令提示符窗口中添加,執行如下命令:

C:\Users\Administrator\Desktop\meteorApp>meteor add ejson

Date示例

我們可以用解析 parse 方法反序列化日期。

if (Meteor.isClient) {
var myEjsonDate = '{"$date": 1455039732453}'; var myDate = EJSON.parse(myEjsonDate);
console.log(myDate);
}

控制檯將記錄正確的日期值。
Meteor

Binary示例

同樣可以應用到二進制類型。

if (Meteor.isClient) {
var myEjsonBinary = '{"$binary": "c3VyZS4="}';
var myBinary = EJSON.parse(myEjsonBinary);
console.log(myBinary);
}

可以看到控制檯日誌記錄新的序列化的值。

Meteor

Stringify

我們可以通過使用字符串化的方法序列化對象。這是上面的例子的逆過程。

if (Meteor.isClient) {

var myObject = {
myDate : new Date(),
myBinary : new Uint8Array([115, 117, 114, 101, 46])
}

var myEjosnData = EJSON.stringify(myObject);
console.log(myEjosnData);
}

我們可以在控制檯看到新的值。
Meteor

S.No.

方法與細則

1

EJSON.parse(string)

用於將解析字符串成JSON值

2

EJSON.stringify(value)

用於序列化值的字符串

3

EJSON.fromJSONValue(value)

用於從JSON反序列化成一個 JSON 值

4

EJSON.toJSONValue(value)

用於序列化EJSON值成JSON

5

EJSON.equals(value1, value2)

用於比較兩個值是否相等

6

EJSON.clone(value)

用於返回深層複製的值

7

EJSON.newBinary

用於分配二進制數據讓EJSON可序列化

8

EJSON.isBinary(x)

用於檢查值是否一個二進制數據

9

EJSON.addType(name, factory)

用於創建一個自定義的JSON類型

10

customType.typeName()

用於返回自定義類型的名稱

11

customType.toJSONValue()

用於序列化的自定義類型

12

customType.clone()

用於返回自定義類型的深層複製。

13

customType.equals(otherValue)

用於自定義類型值和其他類型值之間的比較。