繁体   English   中英

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

[英]using json_encode in php how to consume in javascript

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

现在,当我通过控制台登录时,我得到{“ username”:“ foster”,“ sport”:“ tennis”,“ latitude”:“ 19.166901”,“ longitude”:“ 72.951720”} {“ username”:“ anirudh”,“运动”:“橄榄球”,“纬度”:“ 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

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

创建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); } 

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

当您仅从数据库中获得一个结果时,还是在多行时得到错误?

如果将所有行存储在一个数组中,然后对数组进行echo json编码,那将解决您的问题吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM