JSON.parse 读取 "{\"number\":\"7\"}



嗨,我有麻烦可以使用JSON_ENCODE()PHP函数生成JSON。我有一个.php文件仅执行以下操作:

<?php
// include_once for a few files here
$address = MyModelClass::getByAtrrId(52);
echo json_encode($address, JSON_HEX_QUOT | JSON_HEX_APOS) ;

结果如下:

{"number":"7"}

然后,另一个文件中有jQuery,通过以下代码来检索此:

$(document).ready(function e() {
    let file_path = 'myJson.php';
    let json = $.getJSON(file_path);
    console.log(json);
    let json_obj = JSON.parse(json);

但是,$ .getjson将此字符串读为" {" number ":" 7 "},因此JSON.PARSE以以下错误结束:

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

很抱歉,我几乎100%确定这是初学者的错误,但是我搜索正确的答案失败了。有人知道可能是什么问题?

我发现了大量的文章,这些文章已考虑到Jason_encode,但是现在我有更多的真正麻烦实际上是输入了JQuery函数,但是我仍然无法解决。

如果您的Web服务器发送JSON,则可以相应地设置Content-Type

header("Content-Type: application/json; charset=utf-8");

在客户端,您需要做:

$(document).ready(function() {
    $.getJSON('myJson.php', function(response) {
        // the response is already parsed by jQuery
        alert(response.number);
    });
}

$.getJSON()是异步的,因此您需要通过处理程序功能来处理响应。

最新更新