1

在包含 mongoid 对象 ID 的 Hash 或 Array 上使用 to_json 时,ID 不会在 JSON 中转义。我必须将其转换为字符串。因此,每次我对包含 ObjectID 的哈希或数组进行序列化时,生成的 JSON 格式都是错误的。

我正在使用带有 Rails 4 的 Mongoid 4 master。

[26] pry(main)> [Moped::BSON::ObjectId.new].to_json
=> "[51d2f368d0068664e0000002]"

[27] pry(main)> [Moped::BSON::ObjectId.new.to_s].to_json
=> "[\"51d2f425d0068664e0000003\"]"
4

1 回答 1

2

好像在master分支上解决了

[Moped::BSON::ObjectId.new].to_json
=> "[{\"$oid\":\"51d2ff0322cf02e1a5000001\"}]"

MongoDB 中的 ObjectId 不仅仅是一个字符串。因此,无论如何,在此之前将其转换为字符串可能是明智的。

于 2013-07-02T16:27:12.870 回答