- Meteor 教程
- Meteor - 首頁
- Meteor - 概覽
- Meteor - 環境搭建
- Meteor - 第一個應用
- Meteor - 模板
- Meteor - 集合
- Meteor - 表單
- Meteor - 事件
- Meteor - Session
- Meteor - Tracker
- Meteor - 包
- Meteor - 核心 API
- Meteor - Check
- Meteor - Blaze
- Meteor - 定時器
- Meteor - EJSON
- Meteor - HTTP
- Meteor - 郵件
- Meteor - 資源
- Meteor - 安全性
- Meteor - 排序
- Meteor - 賬戶
- Meteor - 方法
- Meteor - Package.js
- Meteor - 釋出與訂閱
- Meteor - 結構
- Meteor - 部署
- Meteor - 在移動裝置上執行
- Meteor - 待辦事項應用
- Meteor - 最佳實踐
- Meteor 有用資源
- Meteor - 快速指南
- Meteor - 有用資源
- Meteor - 討論
Meteor - EJSON
EJSON 是 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);
}
控制檯將記錄正確的日期值。
二進位制示例
同樣的方法可以應用於二進位制型別。
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);
}
我們可以在控制檯中看到我們的新值。
| 序號 | 方法和詳情 |
|---|---|
| 1 | EJSON.parse(string) 用於將字串解析為 EJSON 值。 |
| 2 | EJSON.stringify(value) 用於將值序列化為字串。 |
| 3 | EJSON.fromJSONValue(value) 用於從 JSON 反序列化 EJSON 值。 |
| 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) 用於比較自定義型別值和其他值。 |
廣告