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);
}
控制台将记录正确的日期值。


Binary示例

同样可以应用到二进制类型。
if (Meteor.isClient) {
   var myEjsonBinary = '{"$binary": "c3VyZS4="}';
   var myBinary = EJSON.parse(myEjsonBinary);
   console.log(myBinary);
}

可以看到控制台日志记录新的序列化的值。


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);
}
我们可以在控制台看到新的值。


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)

用于自定义类型值和其他类型值之间的比较。



上一篇: Meteor计时器 下一篇: Meteor http