Meteor - EJSON
EJSON to rozszerzenie składni JSON, które obsługuje Date i Binary rodzaje.
Zainstaluj EJSON
Aby zainstalować pakiet EJSON, musimy dodać go z okna wiersza poleceń.
C:\Users\username\Desktop\meteorApp>meteor add ejson
Przykład daty
Możemy deserializować date używając parse metoda.
if (Meteor.isClient) {
var myEjsonDate = '{"$date": 1455029631493}';
var myDate = EJSON.parse(myEjsonDate);
console.log(myDate);
}
Konsola zarejestruje poprawną wartość daty.
Przykład binarny
To samo można zastosować do typów binarnych.
if (Meteor.isClient) {
var myEjsonBinary = '{"$binary": "c3VyZS4="}';
var myBinary = EJSON.parse(myEjsonBinary);
console.log(myBinary);
}
Możesz zobaczyć, że konsola rejestruje nową deserializowaną wartość.
Stringify
Możemy serializować obiekt za pomocą stringifymetoda. To jest odwrotny proces z powyższego przykładu.
if (Meteor.isClient) {
var myObject = {
myDate : new Date(),
myBinary : new Uint8Array([115, 117, 114, 101, 46])
}
var myEjosnData = EJSON.stringify(myObject);
console.log(myEjosnData);
}
W konsoli możemy zobaczyć nasze nowe wartości.
Sr.No. | Metoda i szczegóły |
---|---|
1 | EJSON.parse(string) Służy do analizowania ciągu znaków na wartość EJSON. |
2 | EJSON.stringify(value) Służy do serializacji wartości do ciągu. |
3 | EJSON.fromJSONValue(value) Służy do deserializacji wartości EJSON z formatu JSON. |
4 | EJSON.toJSONValue(value) Służy do serializacji wartości EJSON do formatu JSON. |
5 | EJSON.equals(value1, value2) Służy do porównywania, jeśli dwie wartości są równe. |
6 | EJSON.clone(value) Służy do zwracania głębokiej kopii wartości. |
7 | EJSON.newBinary Służy do przypisywania danych binarnych, które EJSON może serializować. |
8 | EJSON.isBinary(x) Służy do sprawdzania, czy wartość jest danymi binarnymi. |
9 | EJSON.addType(name, factory) Służy do tworzenia niestandardowego typu EJSON. |
10 | customType.typeName() Służy do zwracania nazwy typu niestandardowego. |
11 | customType.toJSONValue() Służy do serializacji typów niestandardowych. |
12 | customType.clone() Służy do zwracania głębokiej kopii typu niestandardowego. |
13 | customType.equals(otherValue) Służy do porównania wartości typu niestandardowego z inną wartością. |