1

我有一个复杂的输入 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. 我如何导航(例如)系列的值?如果 json 很简单,我可以做到do each,但我必须在这里做一个 concecationdo each吗?

4

1 回答 1

1

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

require "json"
hash = JSON.parse(@json)
hash.delete("analysis")
@json = hash.to_json
于 2012-10-25T14:16:06.607 回答