Мне нужно получить элемент из выхода json, однако содержимое json не всегда согласовано.Parsing JSON: многоуровневый массив
Например, если я хочу получить значение для «имя» было бы ['result']['attributes'][0]['name'];
Но в том случае, если JSON поставляется в качестве второго примера будет ['result']['attributes'][1]['name'];
{"result":{
"attributes":[
{"user":"newb","name":"mike"},
{"state":"california","city":"los angeles"}
]
}}
{"result":{
"attributes":[
{"state":"california","city":"los angeles"},
{"user":"newb","name":"mike"}
]
}}
Как бы Я получаю значение «name», если индекс массива, в котором он находится, неизвестен?
У вас есть контроль над выходом JSON? –
Я не делаю этого, это результат от стороннего api. –
Это несчастливо. Я бы, по крайней мере, подал сообщение об ошибке с третьей стороной, так как свойство 'attributes' не очень хорошо спроектировано; вместо массива причудливо-сгруппированных атрибутов, он должен быть просто объектом с каждым атрибутом, объявленным отдельно. то есть: '{" result ": {" attributes ": {" user ":" newb "," name ":" mike "," state ":" california "," city ":" los angeles "}}}' –