Метеор - EJSON

EJSON - это расширение синтаксиса JSON, которое поддерживает Date и Binary типы.

Установить EJSON

Чтобы установить пакет EJSON, нам нужно добавить его из окна командной строки.

C:\Users\username\Desktop\meteorApp>meteor add ejson

Пример даты

Мы можем десериализовать date используя 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

Мы можем сериализовать объект, используя 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. Метод и детали
1

EJSON.parse(string)

Используется для преобразования строки в значение EJSON.

2

EJSON.stringify(value)

Используется для сериализации значения в строку.

3

EJSON.fromJSONValue(value)

Используется для десериализации значения EJSON из 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)

Используется для создания настраиваемого типа EJSON.

10

customType.typeName()

Используется для возврата имени произвольного типа.

11

customType.toJSONValue()

Используется для сериализации пользовательских типов.

12

customType.clone()

Используется для возврата полной копии пользовательского типа.

13

customType.equals(otherValue)

Используется для сравнения значения настраиваемого типа и другого значения.