Я хочу, чтобы получить ключ и значения из строки JSON, как показано нижеЕогеасп в JSon декодировании не работает
JSON:
[{
"EXTAPP_ID": "9901",
"CATEGORY_ID": "10",
"LANGUAGE_CODE": "tr",
"CATEGORY_LANG_DESC": "Sat\u0131\u015f Departman\u0131"
}, {
"EXTAPP_ID": "9901",
"CATEGORY_ID": "10",
"LANGUAGE_CODE": "de",
"CATEGORY_LANG_DESC": "Sales Abteilung"
}, {
"EXTAPP_ID": "9901",
"CATEGORY_ID": "20",
"LANGUAGE_CODE": "de",
"CATEGORY_LANG_DESC": "Procurement Abteilung"
}, {
"EXTAPP_ID": "9901",
"CATEGORY_ID": "20",
"LANGUAGE_CODE": "tr",
"CATEGORY_LANG_DESC": "Sat\u0131nalma Departman\u0131"
}, {
"EXTAPP_ID": "9901",
"CATEGORY_ID": "10",
"LANGUAGE_CODE": "en",
"CATEGORY_LANG_DESC": "Sales Department"
}, {
"EXTAPP_ID": "9901",
"CATEGORY_ID": "20",
"LANGUAGE_CODE": "en",
"CATEGORY_LANG_DESC": "Procurement Department"
}]
PHP:
$string = json_decode($_POST['json'], true);
foreach($string as $key => $value) {
echo $key . " : " . $value;
}
это возвращается
0 : Array1 : Array2 : Array3 : Array4 : Array5 : Array
'$ string' - очень плохой выбор имени переменной для декодированного массива. Единственное, что мы можем быть уверены, что '$ string' не является строкой. – Spudley
В стороне, проблема в том, что вы перебираете верхний уровень декодированного массива, но игнорируете тот факт, что это многоуровневая структура. Попробуйте использовать 'print_r ($ value)' вместо вашего выражения 'echo'. – Spudley