簡體   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