JSON错误:SyntaxError:JSON.parse:JSON数据的第2行第1列的意外字符

时间:2014-07-16 20:44:58

标签: javascript php jquery json

这里的错误是什么:

.done(function(data) {
                var json = JSON.parse( data );
                if(json['status'] === "success"){
                    //some processing
                }
                else {
                    alert( "error 2" );
                }
            })

我收到了错误消息:var json JSON.parse('(' + data +')')

从php脚本返回数据:

/*...............*/
$sql->execute();
$i = 0;
while($result = $sql->fetch(PDO::FETCH_ASSOC){
    $response["affiliates"][i]["affiliate_name"] = $result["coupon_name"];
    $response["affiliates"][i]["affiliate_id"] = $result["coupon_id"];
    $i++;
}
$response["status"] = "success";
echo json_encode($response); 

3 个答案:

答案 0 :(得分:4)

查看JSON的规范(这里容易理解的版本:http://json.org/)。没有地方说括号是有效的。例如({"foo": true})永远不会解析。它可能是eval,因为它是有效的javascript,但javascript不是JSON。

答案 1 :(得分:2)

因为这是错误的。

“(1)”(例如)不是有效的JSON字符串。你为什么要把这些parens粘在上面?

答案 2 :(得分:1)

JSON格式仅使用大括号和方括号。你不应该附加括号。