什么是RoR响应中使用的默认JSON规范?

时间:2015-12-02 13:06:21

标签: ruby-on-rails ruby json ruby-on-rails-4

我使用RoR几次。但在阅读了许多json规范,例如jsonapi.orgjson-schema.org后,我有下一个问题:RoR中使用的默认JSON规范是什么?

因为当你在RoR中渲染一个json时,你会得到这个例子:

post: {
 id: 1,
 title: 'Stackoverflow rised 1 billion of alien money',
 description: 'blablabla'
}

如果我在创建API时使用RoR中的默认响应,这是一个好习惯吗?

1 个答案:

答案 0 :(得分:1)

一个可能有用或可能没有帮助的具体事情......

令我烦恼的是JSON w / Rails的默认呈现是因为它在序列化Hash时留下了不引用的键名,这在(技术上)是无效的JSON。解决这个问题的方法是添加

ActiveSupport::JSON.unquote_hash_key_identifiers = false

到environment.rb之类的配置文件。完成后,序列化

my_hash = { post: { id: 1, title: 'Stackoverflow rised 1 billion of alien money', description: 'blablabla' } }

到JSON会改为

post: {
  "id": 1,
  "title": 'Stackoverflow rised 1 billion of alien money',
  "description": 'blablabla'
}

VS。你上面没有引号的东西。