php json_decode错误引用对象属性名称

时间:2015-11-02 16:43:40

标签: php json

我尝试创建一个解码JSON中的简单PHP字符串的脚本,我收到以下错误:

quoted object property name expected

我尝试解码的字符串如下:

{"values":[{"url":"http://www.google.com","matches":"http|www|google|com"},{"url":"http://www.yahoo.com","matches":"http|www|yahoo|com"}]}

我用来解码的代码如下:

json_decode( $json_string );

我也尝试在一些在线json验证器中验证我的json字符串,字符串似乎没问题。

有人可以帮帮我吗?

您是否认为问题因双引号而存在?

更新#1

Definetelly是一个贬值问题。我将我的经验放在这里只是为了帮助其他开发人员在功能中遇到同样的问题:

问题是我的json字符串附带的变量是html编码的,而不是以下字符串:

{"values":[{"url":"http://www.google.com","matches":"http|www|google|com"},{"url":"http://www.yahoo.com","matches":"http|www|yahoo|com"}]}

我的变量里面带有以下字符串:

{"values":[{"url":"http://www.google.com","matches":"http|www|google|com"},{"url":"http://www.yahoo.com","matches":"http|www|yahoo|com"}]}

我方面的错误是我使用print_r方法而不是var_dump。这样就可以在我的页面中打印出&quot "

1 个答案:

答案 0 :(得分:2)

json字符串有效,并且有效。您可以为true的第二个参数添加json_decode,然后返回array。 请尝试以下方法:

$json_string = '{"values":[{"url":"http://www.google.com","matches":"http|www|google|com"},{"url":"http://www.yahoo.com","matches":"http|www|yahoo|com"}]}';

var_dump(json_decode($json_string, true));

它对我有用。 enter image description here