Meteoro - EJSON

EJSON es una extensión de la sintaxis JSON que admite Date y Binary tipos.

Instalar EJSON

Para instalar el paquete EJSON, debemos agregarlo desde la ventana del símbolo del sistema.

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

Ejemplo de fecha

Podemos deserializar el date utilizando el parse método.

if (Meteor.isClient) {
   var myEjsonDate = '{"$date": 1455029631493}';
   var myDate = EJSON.parse(myEjsonDate);
   console.log(myDate);
}

La consola registrará el valor de fecha correcto.

Ejemplo binario

Lo mismo se puede aplicar a los tipos binarios.

if (Meteor.isClient) {
   var myEjsonBinary = '{"$binary": "c3VyZS4="}';
   var myBinary = EJSON.parse(myEjsonBinary);
   console.log(myBinary);
}

Puede ver que la consola está registrando un nuevo valor deserializado.

Stringify

Podemos serializar un objeto usando el stringifymétodo. Este es el proceso inverso del ejemplo anterior.

if (Meteor.isClient) {

   var myObject = {
      myDate : new Date(),
      myBinary : new Uint8Array([115, 117, 114, 101, 46])
   }

   var myEjosnData = EJSON.stringify(myObject);
   console.log(myEjosnData);
}

Podemos ver nuestros nuevos valores en la consola.

No Señor. Método y detalles
1

EJSON.parse(string)

Se utiliza para analizar una cadena en un valor EJSON.

2

EJSON.stringify(value)

Se utiliza para serializar un valor en la cadena.

3

EJSON.fromJSONValue(value)

Se utiliza para deserializar un valor EJSON de JSON.

4

EJSON.toJSONValue(value)

Se utiliza para serializar un valor EJSON en JSON.

5

EJSON.equals(value1, value2)

Se utiliza para comparar si dos valores son iguales.

6

EJSON.clone(value)

Se utiliza para devolver una copia detallada del valor.

7

EJSON.newBinary

Se utiliza para asignar datos binarios que EJSON puede serializar.

8

EJSON.isBinary(x)

Se utiliza para comprobar si el valor es un dato binario.

9

EJSON.addType(name, factory)

Se utiliza para crear un tipo EJSON personalizado.

10

customType.typeName()

Se utiliza para devolver un nombre del tipo personalizado.

11

customType.toJSONValue()

Se utiliza para serializar tipos personalizados.

12

customType.clone()

Se utiliza para devolver una copia detallada del tipo personalizado.

13

customType.equals(otherValue)

Se utiliza para comparar entre el valor de tipo personalizado y otro valor.