使用JS解析JSON响应

时间:2014-08-31 02:27:17

标签: javascript php mysql json

道歉,如果我的标题是模糊的,我会尽力迭代。

我使用以下PHP代码从MySQL DB返回COUNT查询。

响应很好但是我在使用JS解析响应时遇到问题,因为我只想在仪表板中显示值(freeboard.io)

<?php 
//Create Database Connection
$db = mysql_connect("localhost","root","passwordROOT12");
if (!$db) {
    die('Could not connect to the db brah: ' . mysql());
}

//Select the database
mysql_select_db("cp_investigations",$db);

//Replace the * in the query with the column names.
$result = mysql_query("select count(*) from emailAccount", $db);

//Create an array
$json_response = array();

while ($row = mysql_fetch_array($result)) {
    $json_response[] = $row;


}
print json_encode($json_response);

//Close the db connection
fclose($db);

&GT;

响应:

[{ “0”: “49”, “计数(*)”: “49”}]

这是我目前使用的JS,试图让值“49”反映回仪表板。

datasources["Test"].0].

问题是返回:仪表板界面中的 NaN

我很确定我需要更改当前的JS,以便它正确解析预期的值。 (但是我已经尝试了所有我知道但没有运气)

2 个答案:

答案 0 :(得分:0)

我要做的第一件事是替换它:

$result = mysql_query("select count(*) from emailAccount", $db);

用这个:

$result = mysql_query("select count(*) as EmailCount from emailAccount", $db);

这应该会给你一个更好的JSON响应(字典键需要是字符串)。然后你应该可以做这样的事情:

var myCount = datasources.EmailCount;

答案 1 :(得分:0)

将该查询更改为:

SELECT COUNT(*) AS total FROM emailAccount

通过这种方式,您将获得&#34;总计&#34;在你的json中引用。 json.total

由于$ json_response [],您在响应中看到0 ...添加[]正在创建数组的第一行,即0键