Meteor - EJSON



EJSON 是 JSON 語法的擴充套件,支援 **日期** 和 **二進位制** 型別。

安裝 EJSON

要安裝 EJSON 包,我們需要從命令提示符視窗新增它。

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

日期示例

我們可以使用 **parse** 方法反序列化 **日期**。

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

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

Meteor EJSON Date

二進位制示例

同樣的方法可以應用於二進位制型別。

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

您可以看到控制檯正在記錄新的反序列化值。

Meteor EJSON Binary

序列化

我們可以使用 **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 EJSON Stringify

序號 方法和詳情
1

EJSON.parse(string)

用於將字串解析為 EJSON 值。

2

EJSON.stringify(value)

用於將值序列化為字串。

3

EJSON.fromJSONValue(value)

用於從 JSON 反序列化 EJSON 值。

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)

用於建立自定義 EJSON 型別。

10

customType.typeName()

用於返回自定義型別的名稱。

11

customType.toJSONValue()

用於序列化自定義型別。

12

customType.clone()

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

13

customType.equals(otherValue)

用於比較自定義型別值和其他值。

廣告

© . All rights reserved.