Konvertiere Hash rekursiv in OpenStruct

7

Gegeben habe ich diesen Hash:

%Vor%

Und ich konvertiere zu OpenStruct:

%Vor%

Ich möchte, dass alle geschachtelten Schlüssel auch Methoden sind. So kann ich auf d als solches zugreifen:

%Vor%

Wie kann ich das erreichen?

    
Donato 28.02.2017, 22:02
quelle

3 Antworten

6

persönlich benutze ich das recursive-open-struct Juwel - es ist dann so einfach wie RecursiveOpenStruct.new(<nested_hash>)

Aber um der Rekursionspraxis zu dienen, zeige ich Ihnen eine neue Lösung:

%Vor%     
max pleaner 28.02.2017, 23:33
quelle
10

Sie können die Klasse Hash klassenweise packen

%Vor%

dann können Sie sagen

%Vor%

Siehe Konvertieren eines komplexen geschachtelten Hashwerts in ein Objekt .

    
Cruz Nunez 24.08.2017 02:23
quelle
4

Ich habe diese Lösung gefunden:

%Vor%

Damit dies funktioniert, musste ich einen zusätzlichen Schritt machen: Konvertiere es in json.

    
Donato 28.02.2017 22:11
quelle

Tags und Links