管理复杂的JSON

时间:2012-10-25 13:46:02

标签: ruby-on-rails-3 json

我有一个复杂的输入JSON,如下所示:

@json = {"project":"bla",
    "analysis": {"id":"123","title":"Test"}, 
    "data":{"axis": {"name":"column", "label":"demo","values": ["one", "two"]},
           "series": [{"label":"text", "values":["1", "2", "3"]}, 
                    {"label":"text2", "values":["4", "5", "6"]}
]}}

(这个例子比较复杂和长度)

两个问题:

  1. 它存在一个可以在json中动态删除的RoR方法吗?就像是 @json.destroy['analysis']仅消除“分析”键值对夫妇?

  2. 我如何在系列的值中导航(例如)?如果使用do each json很简单,我可以这样做,但是我必须在do each做一个概念吗?

1 个答案:

答案 0 :(得分:1)

您可以将JSON转换为哈希,删除密钥,然后转换回JSON:

require "json"
hash = JSON.parse(@json)
hash.delete("analysis")
@json = hash.to_json