41

我有一个 url 传递参数使用 json_encode 每个值,如下所示:

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

echo json_encode($json);

它返回的结果如下:

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

我可以json_decode用来解析每个值以进行进一步的数据处理吗?

谢谢。

4

2 回答 2

95

json_decode()如果第二个值为真,将返回一个对象或数组:

$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'];
于 2012-09-14T17:12:40.137 回答
22

json_decode 将返回最初编码的相同数组。例如,如果你

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

或者

$obj= json_decode($json);

echo $obj->countryId;

这两个都会回显 84。我认为 json_encode 和 json_decode 函数名称是不言自明的......

于 2012-09-14T17:14:43.927 回答