使用Javascript解析JSON编码的PHP数组 - 意外的字符

时间:2016-05-25 19:12:29

标签: javascript jquery json

我使用PHP将数组编码为JSON字符串,如下所示:

$price['price'] = "20";
$price = json_encode($price)
return $price;

因此,当我访问脚本时,我会收到以下数据:

{"price":"20"}

这是我的jQuery / Javascript代码:

$("#form_pickupDate_day").change(function()
    {
        var frm = $(document.form);
        var data = JSON.stringify(frm.serializeArray());

        $.ajax
        ({
            method: "POST",
            url: "script.php",
            data: {json : data },
            dataType: 'json',
            cache: false,
            success: function(json)
            {
                var obj = JSON.parse(json);
                    $("#form_price").val(obj.price);
            }
        });
    });

我在Firefox中遇到的错误:

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data

1 个答案:

答案 0 :(得分:6)

指定dataType: 'json'的重点是jQuery将为您解析结果。您的json可变已包含JavaScript对象。你不需要解析它两次。

你也不应该称它为“json”,因为那时它不是JSON:

success: function(data) {
  $("#form_price").val(data.price);
}