У меня есть несколько JSON, которые могут быть изменены, но одна константа - всегда будет содержать несколько объектов с двумя свойствами; text
и answerText
. Например, JSON будет
{
"food": {
"eggTolerance": {
"answerText": "None",
"text": "What is your egg tolerance?"
},
"lactoseTolerance": null
},
"cookingExperience": {
"experienceInLastFiveYears": {
"answerText": "Yes",
"text": "Was this experience within the last 5 years?"
},
"numberOfPies": {
"answerText": "More than 50",
"text": "How many pies have you baked?"
},
"significantPies": {
"answerText": "More than 50",
"text": "How many of these pies per quarter were at tasty?"
},
"spanOfExperience": {
"answerText": "Yes",
"text": "Do you have at least 12 months' experience baking pies?"
}
},
"cocktails": {
"manhattans": {
"answerText": "The kiss of death",
"text": "What have I done to deserve this flat, flavourless Manhattan?"
},
"Gin Martini": null
},
"waitressing": null
}
Это можно изменить, сделав его глубже или шире. Например, к lactoseTolerance
может быть добавлен другой объект, или другой объект может быть добавлен к root объекту.
Как я могу пройти этот объект, чтобы посетить каждый объект, чтобы получить свойства самого глубокого объекта ?
Я видел этот пример, но он дает мне только первый уровень. В этом случае я знаю, что могу затем перебирать дочерние элементы этих объектов, но если иерархия изменится, реализация будет разрушена.