【发布时间】:2015-08-06 07:13:39
【问题描述】:
我有一个 JSON 字符串,我需要从中删除所有空白值。比如:
[{"body":"","user":"mike","id":1234567,"type":"","published_at":"2015-05-22T14:51:00-04:00","title":null,"updated_at":"2015-05-23T22:04:38-04:00","postoffice":"Testing","tags":"","variants":[{"value":"", "service":"canada post"}]}]
我考虑过检查所有元素并测试它们是否为“”,并且我还考虑过通过 JSON.load 加载 JSON 并让 proc 选项删除空白(尽管我对 Ruby 相当陌生并且不知道该怎么做)。
从 JSON 字符串中递归删除所有空白值的最佳方法是什么? (请注意,在此示例中,为简化起见,变体只有一层深度。实际上它可以是多层深度。)
为了完整起见,最终结果应如下所示:
[{"user":"mike","id":1234567,"published_at":"2015-05-22T14:51:00-04:00","title":null,"updated_at":"2015-05-23T22:04:38-04:00","postoffice":"Testing","variants":[{"service":"canada post"}]}]
(在我的情况下,空值是可以的)。
【问题讨论】:
-
请注意,ruby 中没有“null”。
-
我的回答对@Mike 有帮助吗?
-
@Anthony 是的,它确实工作得很好 - 谢谢。试图支持它,但我需要 15 声望。
-
@Anthony 谢谢 - 我是新来的,但我就是这么做的。
标签: ruby-on-rails ruby json recursion is-empty