在php中使用json_encode如何在javascript中使用

时间:2017-03-28 18:25:33

标签: javascript php jquery json ajax

我通过json_encode从php返回数据      while($row = mysql_fetch_assoc($results)){ echo json_encode($row);     }

现在当我控制台登录时,我得到了 {"用户名":"培育""运动":"网球""纬度":" 19.166901""经度":" 72.951720"} {"用户名":" anirudh""运动&# 34;:"橄榄球""纬度":" 19.218330""经度":" 72.978088"}

问题是我如何获得对返回字段的访问权限。它作为一个字符串返回。当我做JSON.parse 我收到错误

VM1115:1 Uncaught SyntaxError: Unexpected token { in JSON at position 85
    at JSON.parse (<anonymous>)
    at Object.success (form.js:43)
    at j (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at x (jquery.min.js:4)
    at XMLHttpRequest.b (jquery.min.js:4)

请建议。

非常感谢 Archit Wahi

4 个答案:

答案 0 :(得分:0)

您不需要解析json数据。只需使用data.objectname

即可获得它

答案 1 :(得分:0)

你创建json的方式,你将难以在js中解析它。 这是你应该采取的方式。

$result = array();
while($row = mysql_fetch_assoc($results))
{
    $result[] = $row;
}
echo json_encode($result);

这将为您提供一个json,您可以使用以下方法解析:

var result = JSON.parse(thePHPresult);

并且您的JSON将类似于:

[{"field_1":1,"field_2":"test1"},{"field_1":2,"field_2":"test2"},{"field_1":3,"field_2":"test3"}]

这是一个JSON数组,可以加入:

var theJSON = [{"field_1":1,"field_2":"test1"},{"field_1":2,"field_2":"test2"},{"field_1":3,"field_2":"test3"}];

for(var i=0; i< theJSON.length; i++)
{
 console.log(theJSON[i].field_2);
}

答案 2 :(得分:0)

您必须将行添加到数组中,然后,您可以回显json_encode()的结果。在每个行之后回显的简单行都是无效的JSON。

答案 3 :(得分:-1)

当您从数据库获得一个结果时,或者当您有多行时,是否会收到错误?

如果您将所有行存储在一个数组中,然后回显json编码数组,那么这会解决您的问题吗?