Reduzieren Sie ein verschachteltes JSON-Objekt

Ich suche nach einer Methode, die einen "json" -Hash in einen abgeflachten Hash reduziert, aber die Pfadinformationen in den abgeflachten Schlüsseln beibehält. Zum Beispiel:

h = {"a" => "foo", "b" => [{"c" => "bar", "d" => ["baz"]}]}

flatten (h) sollte zurückgeben:

{"a" => "foo", "b_0_c" => "bar", "b_0_d_0" => "baz"}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage