Использование этого JSON в качестве примера: http://steamcommunity.com/id/berthiest/inventory/json/730/2/ Я пытаюсь получить определенный элемент, который находится в массиве, в массиве массивов. Он также имеет то же имя, что и другие элементы в этих массивах. Это код PHP, который я использую сейчас.Получение элемента из массива массивов в JSON
$data = file_get_contents('http://steamcommunity.com/id/berthiest/inventory/json/730/2/');
$json = json_decode($data);
foreach ($json->rgDescriptions as $mydata)
{
foreach($mydata->tags as $tag) {
echo $tag->name;
}
}
Как вы можете видеть, я в поиске через массивы в "tags"
для "name"
элемента. Если вы посмотрите на JSON и протестируете этот код, вы заметите, что в массивах "tags"
есть множество элементов "name"
. Единственный "name"
элемент Я хочу, чтобы это один в массиве, который также содержит "category_name":"Quality"
Я не могу выбрать номер массива, чтобы получить "name"
из примерно так:.
foreach ($json->rgDescriptions as $mydata)
{
echo $mydata->tags[3]->name;
}
Потому что есть различное количество массивов в "tags"
по всему JSON
Пример "tags"
:.
"tags":[{"internal_name":"CSGO_Tool_WeaponCase_KeyTag","name":"Key","category":"Type","category_name":"Type"},{"internal_name":"normal","name":"Normal","category":"Quality","category_name":"Category"},{"internal_name":"Rarity_Common","name":"Base Grade","category":"Rarity","color":"b0c3d9","category_name":"Quality"}]
Мне нужен элемент "name":"Base Grade"
из последнего массива, потому что он содержит "category_name":"Quality"
.
Так как я могу это сделать?
Что именно это связано с JavaScript? Пожалуйста, укажите минимальный пример данных в сообщении. В любом случае, похоже, решение будет состоять в том, чтобы просто перебрать все «теги» и проверить, есть ли у любого из них «category_name»: «Качество» и только его использование. –
вы декодировали json, поэтому он больше не json. это просто обычная старая структура данных PHP, просто потому, что она исходила из строки json, не делает ее волшебно другой. –