2012-09-14 14 views
15

Tengo un paso de parámetros de URL utilizan json_encode cada valor como sigue:valores php Get de codificación JSON

$json = array 
(
    'countryId' => $_GET['CountryId'], 
    'productId' => $_GET['ProductId'], 
    'status' => $_GET['ProductId'], 
    'opId'  => $_GET['OpId'] 
); 

echo json_encode($json); 

Se devuelve un resultado como:

{ 
    "countryId":"84", 
    "productId":"1", 
    "status":"0", 
    "opId":"134" 
} 

¿Puedo usar json_decode para analizar cada valor para un mayor procesamiento de datos?

Gracias.

+3

¿Lo has probado? – JaredMcAteer

+1

... ¿Qué? ¿No estás intentando en serio json_encode algo en PHP, luego json_decode más tarde en el mismo PHP? Estoy tan confundida. – FrankieTheKneeMan

+3

Es posible que desee almacenar json codificado en algún lugar para su uso futuro –

Respuesta

44

json_decode() devolverá un objeto o matriz si segundo valor es cierto:

$json = '{"countryId":"84","productId":"1","status":"0","opId":"134"}'; 
$json = json_decode($json, true); 
echo $json['countryId']; 
echo $json['productId']; 
echo $json['status']; 
echo $json['opId']; 
+0

gracias hermano, funcionó para mí :) solución muy fácil y agradable –

+0

¿Cómo puedo obtener valor de este '[{" countryId ":" 84 "," productId ": "1", "estado": "0", "opId": "134"}] ' – 151291

+0

@ 151291' $ json [0] .countryId' –

7

json_decode devolverá la misma matriz que fue codificado originalmente. Para instanse, si

$array = json_decode($json, true); 
echo $array['countryId']; 

O

$obj= json_decode($json); 

echo $obj->countryId; 

Estos dos harán eco 84. creo nombres json_encode y json_decode funciones son fáciles de entender ...

+0

Lo siento, fue mi culpa, edité la respuesta –