【发布时间】:2013-07-10 12:55:33
【问题描述】:
我正在收集 HTTP 响应,它以 text/json 形式返回。原格式如下:
{"param" => "value", "interesting_param" => [{"parama1"=>vala1,"parama2"=>vala2,"parama3"=>vala3,"parama4"=>vala4,"parama5"=>vala5},
{"paramb1"=>valb1,"paramb2"=>valb2,"paramb3"=>valb3,"paramb4"=>valb4,"paramb5"=>valb5}]}
当我执行 JSON.parse(response.body)["interesting_param"] 时,我可以检索到这个输出:
{"parama1"=>vala1,"parama2"=>vala2,"parama3"=>vala3,"parama4"=>vala4,"parama5"=>vala5},
{"paramb1"=>valb1,"paramb2"=>valb2,"paramb3"=>valb3,"paramb4"=>valb4,"paramb5"=>valb5}
我如何才能从上面的完整结果集中仅捕获以下内容。
`parama1-vala1`, `parama2-vala2` and `parama5-vala5`
`paramb1-valb1`, `paramb2-valb2` and `paramb5-valb5`
更新 我确实对此进行了进一步的尝试,现在我正在考虑使用循环。 我尝试这样做的方式是:
- 查找记录计数,例如,如果:
测试 = {"parama1"=>vala1,"parama2"=>vala2,"parama3"=>vala3,"parama4"=>vala4,"parama5"=>vala5}, {"paramb1"=>valb1,"paramb2"=>valb2,"paramb3"=>valb3,"paramb4"=>valb4,"paramb5"=>valb5}
那么,test.count 将是 2。
现在,如果我能以某种方式使用循环遍历 test 中的元素,那么我或许能够捕获特定元素。
谢谢。
【问题讨论】:
-
你能发布确切的值吗?您的语法在示例代码中无效。也是您想要的确切输出格式。
-
@Dogbert 这里的语法怎么无效?我只清理了真实数据。就是这样。
-
你可能打算在 5 行数据之前有一个
[和].. ? -
好的。原始数据是 { "p" => 'v", ..., "interesting_param" => [{"
"}]}。出原始数据,我取出了有趣的参数 - 值对。问题对应于这组特定的数据。希望这是有道理的。 -
好的,您希望问题中数据的确切输出是什么?