-1

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`

更新 これについてさらに試してみましたが、今はループを利用することを考えています。私がこれをやろうとしている方法は次のとおりです。

  1. たとえば、次の場合は、レコードの数を見つけます。

test = {"parama1"=>vala1,"parama2"=>vala2,"parama3"=>vala3,"parama4"=>vala4,"parama5"=>vala5}, {"paramb1"=>valb1,"paramb2" =>valb2,"paramb3"=>valb3,"paramb4"=>valb4,"paramb5"=>valb5}

すると、2test.countになります。

どういうわけか、ループを使用して の要素を反復処理できれば、test特定の要素をキャプチャできる可能性があります。

ありがとう。

4

1 に答える 1