我有一个示例代码:
$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'];
结果是错误,如何修复它!
答案 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)
答案 3 :(得分:0)
您可以调用函数来删除JSON中的空格
见下文 http://www.pukkared.com/2010/02/removing-extra-white-space-before-returning-json-data/