Dostęp do skrótów i tablic Ruby

W mojej aplikacji Rails wysyłam złożony ciąg JSON, który musi zostać zdekodowany. To nie jest problem, który wiem jak.

Teraz, zanim zaimplementuję wszystko, próbuję uzyskać dostęp do niektórych przykładowych struktur JSON, aby sprawdzić, czy mogę dostać się do wszystkich zmiennych. Problem polega na tym, że nazwy mogą być zmienne.

<code>{"configurations" : [ 
{ "drinks" : [
        {"menus" : [
          { "hot" : [
            {"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 4},
            {"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 6}
          ] },

          { "cold" : [
        {"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 4},
            {"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 6}
           ] },

          { "terminals" : [ {"id" : 4}, {"id": 6}, {"id": 7} ] }, 

          { "keys" : { "debit" : "on", "credit": "off" }  }

        ] }
] } ] } 
</code>

Ok, teraz następujące polasą zmienne: „napoje”, „gorące”, „zimne”. Wszystkie pozostałe pola będą nazywane tym samym.

Teraz chciałbym uzyskać dostęp do każdej zmiennej w tym łańcuchu JSON po jej zdekodowaniu. Przed wdrożeniem wypróbowałem prosty JSON:

<code>{"configuration" : [ { "drinks" : [ { "id":15, "unit":"0.33" } ] } ] }
</code>

Po dekodowaniu w szynach skutkującym

<code>{ "configuration" => [{"drinks" => [{"id" => 15, "unit" => "0.33" }]}]}
</code>

Teraz, jak mogę uzyskać dostęp na przykładid iunit bez użycia słowa „napoje”. Rozwiązanie powinno być również skalowalne do powyższego przykładu.

Dodatkowe informacje: W dużym JSON powinienem uzyskać dostęp do wszystkich wymienionych tam przedmiotów (identyfikatorów), zapisać je w tabeli i zwrócić nowy identyfikator, a następnie wstawić z powrotem do JSON. (wyjaśniając, dlaczego należy to zrobić, zajmie dodatkową stronę lub 4 ^^).

questionAnswers(3)

yourAnswerToTheQuestion