【问题标题】:php get values from json encodephp从json编码中获取值
【发布时间】:2012-09-07 21:14:16
【问题描述】:

我有一个 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 解析每个值以进行进一步的数据处理吗?

谢谢。

【问题讨论】:

  • ...什么?您并没有认真尝试在 PHP 中对某些内容进行 json_encode,然后在同一个 PHP 中对其进行 json_decode?我很困惑。
  • 他可能想将编码的 json 存储在某个地方以备将来使用

标签: php json


【解决方案1】:

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'];

【讨论】:

  • 谢谢兄弟,帮我锻炼一下 :) 非常简单又不错的解决方案
  • 我怎样才能从这个[{"countryId":"84","productId":"1","status":"0","opId":"134"}]获得价值
  • @151291 $json[0].countryId
  • @MihaiIorga 正确的解决方案是 $json[0]->countryId,而不是 $json[0].countryId,因为 dot 是 php 中字符串连接的用户。
【解决方案2】:

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

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

$obj= json_decode($json);

echo $obj->countryId;

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多