Ich brauche alle Werte von 'Name' Schlüssel und gleichzeitig, um Werte von 'Kinder' Schlüssel zu bekommen. Ich bin in der Lage, nur 'Namen' von der ersten Ebene abzurufen, aber mit 'Kindern', da nicht alle 'Namen' sie haben.Wie kann ich spezifische Schlüsselwerte von json erhalten?
puts data['labels'].collect { |item| item['name'] }
Die JSON Antwort ist die folgende:
{"labels": [{
"name": "Crime"
}, {
"name": "Demonstrations"
}, {
"name": "Music",
"children": [{
"name": "Awards"
}, {
"name": "Classical"
}, {
"name": "Country"
}, {
"name": "Other"
}, {
"name": "Pop"
}, {
"name": "Soul"
}, {
"name": "X Factor"
}]
}, {
"name": "Politics"
}, {
"name": "Rescue"
}, {
"name": "Special Events"
}, {
"name": "Sports",
"children": [{
"name": "Auto Racing"
}, {
"name": "Awards"
}, {
"name": "Baseball"
}, {
"name": "Basketball"
}, {
"name": "NASCAR (Cup)"
}, {
"name": "NASCAR (Nationwide)"
}, {
"name": "NASCAR (Truck)"
}, {
"name": "NASCAR (XFINITY)"
}, {
"name": "Other"
}, {
"name": "Rodeo"
}, {
"name": "Rugby"
}, {
"name": "Running"
}, {
"name": "Sailing"
}, {
"name": "Skating"
}, {
"name": "Volleyball"
}]
}, {
"name": "Traffic"
}, {
"name": "Weather"
}]}
Andrey, p data ['labels']. Sammeln {| item | item ['name']} gibt für mich keinen Fehler aus, sondern erfasst nur die Werte aller 'Namen', ignoriert aber 'Name', die mit 'Kinder' zusammenhängen. Ich bin auf Ruby 2.1.2 und sichere Navigation Operator wird in meinem Fall nicht unterstützt (( –
@DenisS. Ich habe die Antwort bearbeitet –
Vielen Dank, Andrey! Das ist genau das, was ich versuchte zu bekommen! –