📜  Meteor-EJSON

📅  最后修改于: 2020-12-08 05:24:10             🧑  作者: Mango


EJSON是支持DateBinary类型的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);
}

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

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

我们可以在控制台中看到我们的新值。

流星EJSON Stringify

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.