流星-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);
}

控制台将记录正确的日期值。

流星 EJSON 日期

二进制示例

这同样适用于二进制类型。

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

您可以看到控制台正在记录新的反序列化值。

Meteor EJSON 二进制文件

字符串化

我们可以使用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 字符串化

先生。 方法及详情
1

EJSON.parse(字符串)

用于将字符串解析为 EJSON 值。

2

EJSON.stringify(值)

用于将值序列化为字符串。

3

EJSON.fromJSONValue(值)

用于从 JSON 反序列化 EJSON 值。

4

EJSON.toJSONValue(值)

用于将 EJSON 值序列化为 JSON。

5

EJSON.equals(值1, 值2)

用于比较两个值是否相等。

6

EJSON.clone(值)

用于返回值的深层副本。

7

EJSON.newBinary

用于分配EJSON可以序列化的二进制数据。

8

EJSON.isBinary(x)

用于检查值是否为二进制数据。

9

EJSON.addType(名称,工厂)

用于创建自定义 EJSON 类型。

10

自定义类型.typeName()

用于返回自定义类型的名称。

11

自定义类型.toJSONValue()

用于序列化自定义类型。

12

自定义类型.clone()

用于返回自定义类型的深层副本。

13

自定义类型.等于(otherValue)

用于自定义类型值与其他值的比较。