A должен отправить этот Json Array с Android на php-скрипт. В этом случае я отправил этот json с 1 элементом ('CABECERA'), и в моем php-скрипте я не знаю, как разбираться для работы.
Как мне сделать, чтобы воссоздать весь объект CABECERA из этого json?.
$_jsone_str= [ {\"CABECERA\":[{\"CustomerID\":\"1\",\"datetime\":\"\",\"fecha\":\"150303122830\",\"idadmin\":\"3\",\"idcli\":\"4\",\"msj\":\"\",\"nroped\":\"\",\"orderId\":\"1\",\"puntoVentaID\":\"AMALGAME\",\"status\":\"0\",\"total\":\"0.0\"}]}]
$json = json_decode($_jsone_str);
foreach ( $json ->CABECERA as $decode ){
print_r($decode);
}
Как следует разобрать этот json-массив, что я делаю неправильно?
Обычно я делаю следующее:
Сначала я проверяю, есть ли POST JSON с POST HEADER POST:
if( isset($_POST["POST"]) ) {
}
Я освобождаю файл JSON:
$data = $_POST["JSON"];
$data = stripslashes($data);
$jsonDecoded = json_decode($data);
Затем я разбираю данные JSON:
foreach ($jsonDecoded->**"object/array name"** as $object) {
}
В вашем случае "имя объекта/массива" является CABECERA
Полный код:
if( isset($_POST["JSON"]) ) {
$data = $_POST["JSON"];
$data = stripslashes($data);
$jsonDecoded = json_decode($data);
foreach ($jsonDecoded->**"object/array name"** as $object) {
}
}
Убедитесь, что JSON для декодирования - строка:
$_jsone_str= "[ {\"CABECERA\":[{\"CustomerID\":\"1\",\"datetime\":\"\",\"fecha\":\"150303122830\",\"idadmin\":\"3\",\"idcli\":\"4\",\"msj\":\"\",\"nroped\":\"\",\"orderId\":\"1\",\"puntoVentaID\":\"AMALGAME\",\"status\":\"0\",\"total\":\"0.0\"}]}]";
$json = json_decode($_jsone_str);
Проверьте результат:
print_r($json);
Назовите это правильным способом:
foreach ( $json as $decode ){
print_r($decode->CABECERA);
}
Json-массив должен быть строкой.
И функция json_decode ($ data, true) - поиск второго пареметра, он вернет обработанный json в ассоциативных массивах, иначе он будет как объект.
$json = "[ {\"CABECERA\":[{\"CustomerID\":\"1\",\"datetime\":\"\",\"fecha\":\"150303122830\",\"idadmin\":\"3\",\"idcli\":\"4\",\"msj\":\"\",\"nroped\":\"\",\"orderId\":\"1\",\"puntoVentaID\":\"AMALGAME\",\"status\":\"0\",\"total\":\"0.0\"}]}]";
foreach ( json_decode($json, true) as $decode ){
print_r($decode);
}
json_decode()
что вы ищете? | PHP> = 5.2.0