首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP回发json值时出现意外错误

使用PHP回发json值时出现意外错误
EN

Stack Overflow用户
提问于 2013-09-10 02:33:13
回答 3查看 168关注 0票数 0

我正在使用Ajax将服务器端代码PHP中的一些数据发回给我的客户端,这是如何做到的

代码语言:javascript
复制
//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的响应页面中得到了这个错误,我不知道它有什么问题。

代码语言:javascript
复制
    <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 />
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-10 02:36:10

你没有正确地嵌套引号。您需要将JSON字符串括在单引号中,而不是双引号中:

代码语言:javascript
复制
$json = '{"myTag":"myData"}';

或者更好--将数组创建为PHP数组,并使用json_encode()为您生成JSON。

票数 5
EN

Stack Overflow用户

发布于 2013-09-10 02:37:16

更简单的方法是将数据作为array并将其传递给编码(),如下所示:

代码语言:javascript
复制
$json = array(
    "payout_history" => 0,
    "round_shares"  => 1816
    ....
);
echo json_encode($json);
票数 2
EN

Stack Overflow用户

发布于 2013-09-10 03:02:14

代码中存在的问题与使用引号设置$json字符串的方式有关。

查看有关使用引号的PHP文档:http://php.net/manual/en/language.types.string.php

代码语言:javascript
复制
// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';

不过,正如@Sudhir早些时候所说,最好有一个数组并输出JSON 正确编码函数

代码语言:javascript
复制
$json = array(
    "payout_history" => 0,
    "round_shares"  => 1816
    // ....
);
header("Content-Type: application/json");
echo json_encode($json);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18709880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档