- 流星教程
 - 流星 - 主页
 - 流星 - 概述
 - Meteor - 环境设置
 - Meteor - 首次应用
 - 流星 - 模板
 - 流星 - 收藏
 - 流星 - 形式
 - 流星 - 活动
 - 流星 - 会话
 - 流星 - 追踪器
 - 流星 - 套餐
 - Meteor - 核心 API
 - 流星 - 检查
 - 流星 - 烈焰
 - Meteor - 计时器
 - 流星-EJSON
 - 流星 - HTTP
 - 流星 - 电子邮件
 - 流星 - 资产
 - 流星 - 安全
 - 流星 - 排序
 - 流星 - 账户
 - Meteor - 方法
 - 流星-Package.js
 - 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(字符串) 用于将字符串解析为 EJSON 值。  | 
| 2 | EJSON.stringify(值) 用于将值序列化为字符串。  | 
| 3 | EJSON.fromJSONValue(值) 用于从 JSON 反序列化 EJSON 值。  | 
| 4 | EJSON.toJSONValue(值) 用于将 EJSON 值序列化为 JSON。  | 
| 5 | EJSON.equals(值1, 值2) 用于比较两个值是否相等。  | 
| 6 | EJSON.clone(值) 用于返回值的深层副本。  | 
| 7 | EJSON.newBinary 用于分配EJSON可以序列化的二进制数据。  | 
| 8 | EJSON.isBinary(x) 用于检查值是否为二进制数据。  | 
| 9 | EJSON.addType(名称,工厂) 用于创建自定义 EJSON 类型。  | 
| 10 | 自定义类型.typeName() 用于返回自定义类型的名称。  | 
| 11 | 自定义类型.toJSONValue() 用于序列化自定义类型。  | 
| 12 | 自定义类型.clone() 用于返回自定义类型的深层副本。  | 
| 13 | 自定义类型.等于(otherValue) 用于自定义类型值与其他值的比较。  |