2015-03-03 3 views
0

Необходимо отправить этот Json Array с Android на скрипт php. В этом случае я отправил этот json с 1 элементом ('CABECERA'), и в моем php-скрипте я не знаю, как разбираться для работы.Parse JSON Array Objetct в 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); 
} 

Как supose разобрать этот массив JSON то, что я делаю не так?

+0

Это [ 'json_decode()'] (HTTP: // PHP. net/manual/en/function.json-decode.php), что вы ищете? | PHP> = 5.2.0 – lmarcelocc

ответ

1

Я обычно делают следующее:

  1. Я сначала проверить, если POST в формате JSON с POST HEADER POST существует:

    if(isset($_POST["POST"])) { 
    
    } 
    
  2. I освобождает файл в формате JSON:

    $data = $_POST["JSON"]; 
    $data = stripslashes($data); 
    $jsonDecoded = json_decode($data); 
    
  3. я тогда анализировать данные в формате 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) { 

    } 
} 
+1

вы делаете мой день – exequielc

0

Json array должен быть строкой.

И функция 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); 
} 
+0

не работает для меня. – exequielc

+0

Я только что проверил код, и он сработал. Какова ваша версия php? – Codew

+0

Как мне сделать, чтобы воссоздать весь объект CABECERA из этого json ?. – exequielc

0

Убедитесь в формате 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); 
}