繁体   English   中英

解析JSON时出现意外标识符

[英]Unexpected Identifier when parsing JSON

我从php返回一个JSON对象,其中仅包含一列不同值的计数。 这是相关的部分:

[Object]
0: Object
count(distinct value): "456"

“值”是列的名称(是的,我知道这不是列名称的好选择)。

我的jQuery看起来像这样。 我正在尝试获取“ 456”并将其附加到div。

$.getJSON('attribute_count.php', function(data) {
$.each(data, function(key, val) {
var attribute_count = val.count(distinct value);
$('#attribute_count').append(attribute_count);
});
});

但是,这将引发错误:未捕获的SyntaxError:行上的意外标识符:

var attribute_count = val.count(distinct value);

我已经使用了这种确切的语法来毫无问题地从数据库中获取和追加其他数据。 我猜“ count(distinct value)”部分是问题,但不确定如何更正。 这是我的PHP的相关部分:

$sql = "select count(distinct value) from full_data_complete;";
$result = $dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
header('Content-type: application/json');
echo json_encode($result);

任何想法将不胜感激。

您当前的代码正在val上寻找count方法以及一些未定义的参数。

最好的解决方案是使用AS关键字在SQL中对列进行别名。

您的SQL将如下所示:

SELECT COUNT(distinct value) AS distinct_value_count FROM full_data_complete;

您现在可以在JavaScript中以以下方式访问它:

data.distinct_value_count

您不需要循环数据,因为它是一个对象。

$.getJSON('attribute_count.php', function(data) {
    var attribute_count = data.distinct_value_count;
    $('#attribute_count').append(attribute_count);
});

如果val实际上是包含count(distinct value)字段的对象,您将要说:

var attribute_count = val["count(distinct value)"];

暂无
暂无

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

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