📅  最后修改于: 2020-12-08 05:24:10             🧑  作者: Mango
EJSON是支持Date和Binary类型的JSON语法的扩展。
要安装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);
}
控制台将记录正确的日期值。
同样可以应用于二进制类型。
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);
}
我们可以在控制台中看到我们的新值。
Sr.No. | Method & Details |
---|---|
1 |
EJSON.parse(string) Used for parsing a string into EJSON value. |
2 |
EJSON.stringify(value) Used for serializing a value to the string. |
3 |
EJSON.fromJSONValue(value) Used for deserializing an EJSON value from JSON. |
4 |
EJSON.toJSONValue(value) Used for serializing an EJSON value into JSON. |
5 |
EJSON.equals(value1, value2) Used for comparing if two values are equal. |
6 |
EJSON.clone(value) Used for returning a deep copy of the value. |
7 |
EJSON.newBinary Used for assigning a binary data that EJSON can serialize. |
8 |
EJSON.isBinary(x) Used for checking if the value is a binary data. |
9 |
EJSON.addType(name, factory) Used for creating a custom EJSON type. |
10 |
customType.typeName() Used for returning a name of the custom type. |
11 |
customType.toJSONValue() Used for serializing custom types. |
12 |
customType.clone() Used for returning a deep copy of the custom type. |
13 |
customType.equals(otherValue) Used for comparison between the custom type value and other value. |