У меня есть структура JSON ниже, что я вставляю в свой PHP-скрипт как запрос $ _POST. Ключи для имен кампаний и имен групп динамически генерируются, поэтому мне нужно извлечь эти ключи, чтобы затем я мог группировать каждую кампанию с ее именем группы и копией объявления в отдельные массивы.Извлечение динамически сгенерированных ключей и значений JSON
Я видел несколько сообщений здесь, которые очень похожи, но ни одно из этих решений не работает до сих пор. Я чувствую, что я слишком усложняю это.
{
"First Campaign Name": {
"First Group Name": {
"textads": [
[
"{Headline text}",
"First line text",
"Second line text",
"Display URL"
],
[
"{Headline text}",
"First line text",
"Second line text",
"Display URL"
]
]
},
"Second Group Name": {
"textads": [
[
"{Headline text}",
"First line text",
"Second line text",
"Display URL"
],
[
"{Headline text}",
"First line text",
"Second line text",
"Display URL"
]
]
}
},
"Second Campaign Name": {
"First Group Name": {
"textads": [
[
"{Headline text}",
"First line text",
"Second line text",
"Display URL"
],
[
"{Headline text}",
"First line text",
"Second line text",
"Display URL"
]
]
},
"Second Group Name": {
"textads": [
[
"{Headline text}",
"First line text",
"Second line text",
"Display URL"
],
[
"{Headline text}",
"First line text",
"Second line text",
"Display URL"
]
]
}
}
}
Я пробовал несколько foreach и вложенные петли foreach, пытаясь получить доступ к ключам и значениям без везения. Мои последние попытки:
foreach($jsonString as $campaign) {
foreach($campaign as $k => $v){
$postData .= "Key: " . $k . "\r\n";
$postData .= "Val: " . $v . "\r\n";
}
}
Где $ postData уже определено и затем сохраняется в файл для вывода. Я также попытался следующее:
foreach ($_POST as $key => $value) {
foreach($value as $item){
foreach($item as $k => $v){
$postData .= "Key: " . $k . "\r\n";
$postData .= "Val: " . $v . "\r\n";
}
}
}
Это то, что вам нужно. петли вложенные 3 глубины. как это не работает? –
Возможно, это только я, но мне сложно понять, какова будет структура, для которой вы собираетесь. Не могли бы вы привести пример вывода, который вы пытаетесь получить? –
Итак, выяснилось, что проблема не была моей логикой, а скорее фактическим JSON, который получил сценарий, который я не могу опубликовать здесь, потому что он содержит конфиденциальную информацию. Данные JSON, которые передаются, содержат одинарные кавычки, которые не экранированы должным образом. Спасибо всем за помощь! – Jonathan