我正在尝试构建一个JSON对象,它是在Rails中构建的。
我的目标是:
person = {name: "david", age: 25, address: nil}但是地址显示为null,而不是未定义的。
person.to_json ======>
{name: "david",
age: 25,
address: null <---- I want this to be undefined
}发布于 2016-02-18 14:08:20
在转换到json之前,您可以使用Ruby compact删除零属性:
person = {name: "david", age: 25, address: nil}
person.compact.to_json它将返回:
{
name: "david",
age: 25
}那样的话,person.address将是未定义的
发布于 2016-02-18 14:04:05
undefined是无效的JSON,尽管它在javascript中是有效的。
JSON值可以是对象、数组、数字、字符串、true、false或null。
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
发布于 2017-03-14 06:09:06
如果您正在使用Jbuilder,则可以在视图开始时使用json.ignore_nil!,它不会生成任何具有零值的json。更好的是,您可以在初始化器中全局设置它:
# config/initializers/jbuilder.rb
Jbuilder.ignore_nil true只需记住在添加初始化程序后重新启动rails服务器。
https://stackoverflow.com/questions/35483394
复制相似问题