从json_decode()获取php中的值时出错?

时间:2012-07-14 04:10:21

标签: php json object space

我有一个示例代码:

$description = '{"2G Network":"GSM 850 / 900 / 1800 / 1900 ","3G Network":"HSDPA 850 / 900 / 1700 / 1900 / 2100 "}';
$data = json_decode($description);
echo $data->2G Network;

 // OR echo $data['2G Network'];

结果是错误,如何修复它!

4 个答案:

答案 0 :(得分:6)

试试这个:

echo $data->{'2G Network'};

问题不在于JSON,而是在您尝试访问的对象属性中有空格。如果您使用花括号{ },则可以使用字符串命名要获取/设置的属性。

答案 1 :(得分:3)

布拉德解决方案是完美的,如果你想从数组中得到类似的解决方案,你可以这样做:

$description = '{"2G Network":"GSM 850 / 900 / 1800 / 1900 ","3G Network":"HSDPA 850 / 900 / 1700 / 1900 / 2100 "}';
$data = json_decode($description, true);
echo $data['2G Network'];

答案 2 :(得分:1)

您可以删除2G和Network之间的空格,或使用json_decode($description, true)

将json解码为数组

答案 3 :(得分:0)

您可以调用函数来删除JSON中的空格

见下文 http://www.pukkared.com/2010/02/removing-extra-white-space-before-returning-json-data/