我应该使用双引号JSON值

时间:2013-11-22 17:55:48

标签: php json

我刚刚开始学习使用带有PHP的JSON,我不确定何时使用双引号,何时不使用,因为当我更改它时,我收到了以下错误几次:

SyntaxError:JSON.parse:期望的属性名称或'}'

我的代码

<<< EOT

{

    'id' : 152,
    'price' : '$Z',
    'title' : '$Y',
    'check' : $check

}

EOT;

这是对的吗?

// $ Z是价格,但当它被插入数据库时​​,它也会被改变以匹配瑞典的写出价格的方式,例如&#34; 10000&#34;成为&#34; 10 000&#34;并且它不再是一个int,因为它有一个空格并且我使用bind_param插入它(&#34; s&#34;)

所以我要确保在制作JSON值时应该使用:(&#39; price&#39; =&gt;&#39; $ Z&#39;)因为它可以是&#34; 10& #34;或&#34; 10 000&#34;

我还有一个值$ check,可以是&#34; -1&#34;或&#34; 0&#34;或&#34; 1&#34;

应该使用双引号或无引号来表示JSON值?我不确定,因为价值可以是&#34; -1&#34;例如:(&#39; check&#39; =&gt; $ check)

最后,当我收到错误消息&#34; SyntaxError:JSON.parse:期望的属性名称或&#39;}&#39;&#34;

我理解是因为(&#39;标题&#39; =&gt;&#39; $ Y&#39;) 因为$ Y = Macbook Pro 15&#34;它写出了15&#34; &#34;到底。它是正确逃避这些价值观的最好方法,可以删除像&#34;

这样的歌曲

对不起,如果我的问题看起来很混乱,那么英语不是我的第一次憔悴。

2 个答案:

答案 0 :(得分:2)

你需要在json中使用双引号。它不会将单引号识别为有效。 Reference

此外,如果它有帮助您可以使用本机PHP函数json_encode

json_encode的反转是json_decode

答案 1 :(得分:2)

自己编写JSON通常会让你遇到麻烦。让PHP为你做!

$array = array(
   'id' => 152,
   'price' => $Z,
   'title' => $Y,
   'check' => $check
);
$validJson = json_encode($array);

给我:

{"id":152,"price":null,"title":null,"check":null}

显然,我不知道您的$Z$Y值。

然后正如您在此输出中所看到的那样,需要双引号。