我使用Ajax将我的服务器端代码PHP中的一些数据发回给我的客户端,这就是它的完成方式
//server side
$json="{
"payout_history":"0",
"round_shares":"1816",
"workers":
{
"jbo.5970":
{
"alive":"1",
"hashrate":"1253"
},
"jbo.5970cpu":
{
"alive":"1",
"hashrate":"21"
},
"jbo.5970-2":
{
"alive":"1",
"hashrate":"1062"
}
}
}";
echo json_encode($json);
我在firebug的响应页面中收到此错误,我无法弄清楚它是什么错误
<br />
<b>Parse error</b>: syntax error, unexpected 'payout_history' (T_STRING) in
<b>C:\xampp\htdocs\exercise5json\display.php</b> on line <b>38</b><br />
答案 0 :(得分:5)
您没有正确嵌套引号。您需要将JSON字符串括在单引号中,而不是双引号:
$json = '{"myTag":"myData"}';
或者更好 - 将数组创建为PHP数组,并使用json_encode()
为您生成JSON。
答案 1 :(得分:2)
更简单的方法是将您的数据设为array
并将其传递给json_encode(),例如:
$json = array(
"payout_history" => 0,
"round_shares" => 1816
....
);
echo json_encode($json);
答案 2 :(得分:0)
您的代码中的问题存在于您使用引号设置$json
字符串的方式。
查看有关使用引号的PHP文档: http://php.net/manual/en/language.types.string.php
// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';
正如@Sudhir先前所说,最好有一个数组并输出JSON using the json_encode function correctly。
$json = array(
"payout_history" => 0,
"round_shares" => 1816
// ....
);
header("Content-Type: application/json");
echo json_encode($json);