EJSON是JSON語法的擴展,支持日期和二進位類型。
安裝EJSON
要安裝JSON包,我們需要從命令提示符窗口中添加,執行如下命令:
C:\Users\Administrator\Desktop\meteorApp>meteor add ejson
Date示例
我們可以用解析 parse 方法反序列化日期。
if (Meteor.isClient) {
var myEjsonDate = '{"$date": 1455039732453}'; var myDate = EJSON.parse(myEjsonDate);
console.log(myDate);
}
控制臺將記錄正確的日期值。


Binary示例
同樣可以應用到二進位類型。
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);
}
我們可以在控制臺看到新的值。


| S.No. |
方法與細則
|
|---|---|
| 1 |
EJSON.parse(string)
用於將解析字串成JSON值
|
| 2 |
EJSON.stringify(value)
用於序列化值的字串
|
| 3 |
EJSON.fromJSONValue(value)
用於從JSON反序列化成一個 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)
用於創建一個自定義的JSON類型
|
| 10 |
customType.typeName()
用於返回自定義類型的名稱
|
| 11 |
customType.toJSONValue()
用於序列化的自定義類型
|
| 12 |
customType.clone()
用於返回自定義類型的深層複製。
|
| 13 |
customType.equals(otherValue)
用於自定義類型值和其他類型值之間的比較。
|
上一篇:
Meteor計時器
下一篇:
Meteor http
