1

我有一个名为“config.json”的文件

{
    "book": {
        "config": {
            "uuid": "81393fe88f7c4e5a98070905790b39e1",
            "type": "fullscreen",
            "size": "1024,768"
                  }
             }
}

然后我使用 $.ajax 来读取这个文件,

    $.ajax({
        url:...,
        data:{...},
        type:"get",
        dataType:'json',
        success:function(data, textStatus){
            console.log(data);
        }
    })

但数据返回是字符串格式,如:

"{\n "book": {\n ... }\n }\n }\n}"

然后我想把数据解析成json,但是所有的解析函数都不起作用,

var obj=$.parseJSON(data);

但结果是“空”

然后我想使用“jquery.json-2.3.js”

console.log(data.toJSON());

但结果是data.toJSON is not a function

我该如何解决这个问题?将字符串解析为 json

4

3 回答 3

2

如果您指定 dataType 调用,jQuery 会自动解析响应

var obj=$.parseJSON(data);

返回错误

于 2012-04-12T09:40:14.880 回答
1

dataType: 'json'如果(假设它是有效的 JSON 格式,您上面的数据就是),jQuery 会自动将 JSON 评估为对象。所以重新评估一个对象到另一个对象没有任何意义。

如果您想要来自服务器的 JSON 字符串,只需设置dataTypehtml

于 2012-04-12T09:37:06.100 回答
0

你可以试试JSON.parse(data)吗?

我认为,通过用空字符串替换来摆脱 \n 也会有所帮助。

于 2012-04-12T09:33:26.687 回答