我有一个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字符串中所有空值的最佳方法?(请注意,在此示例中,variants仅为简化起见而深度为一级。实际上,它可以有多个级别。)
为了完整起见,最终结果应该如下所示:
[{"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"}]}]
(在我的情况下,空值是可以接受的。)