【问题标题】:Controlling date/time format when using to_json使用 to_json 时控制日期/时间格式
【发布时间】:2016-02-23 11:02:20
【问题描述】:

我正在使用标准 Ruby mongodb 客户端从 mongodb 中检索一个实体,我正在检索的对象的字段之一是“日期”(mongo 类型)或“时间”(Ruby 类型)类型。我正在对检索到的对象进行多次操作,最后我使用 to_json 方法将其转换为 json。 问题是 to_json 决定使用对我不利的日期格式(例如“2013-02-13 14:08:39 UTC”),并且在调用 to_json 时我找不到任何方法来控制这种格式。 如何控制格式? 我在这个对象中有几个“时间”字段,因此我正在寻找一种可以一次性涵盖所有这些字段的解决方案。

【问题讨论】:

  • 为什么这种格式不适合你?您更喜欢哪种格式,为什么?
  • 实际原因是我将这个日期发送到一个 RESTful Web 服务(用 Java 编写,但它并不重要)并且我得到一个异常,因为它无法解析日期字符串,我需要一种标准格式,例如 ISO 8601@spickermann
  • strftime 确实有效,但我正在寻找更广泛的解决方案,我不想遍历文档的所有字段并分别处理每个字段@Rubysmith

标签: ruby mongodb


【解决方案1】:

不要使用“#to_json”,而是使用一些更可控的序列化方式,例如https://github.com/rails-api/active_model_serializers ; 在序列化程序中处理所有需要的字段的日期序列化。

【讨论】:

  • 谢谢,我去看看
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-04
  • 1970-01-01
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
相关资源
最近更新 更多