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