我正在尝试将json
字符串转换为从.js
文件中读取的对象格式。
以下是JSON
document.js
字符串
[
{
"type": "TableShape",
"id": "63c0f27a-716e-804c-6873-cd99b945b63f",
"x": 80,
"y": 59,
"width": 99,
"height": 107,
"name": "Group",
"entities": [
{
"text": "id",
"id": "49be7d78-4dcf-38ab-3733-b4108701f1"
},
{
"text": "employee_fk",
"id": "49be7d78-4dcf-38ab-3733-b4108701fce4"
}
]
}
];
现在我使用document.js
调用window load
中的AJAX
,如下所示
$(window).load(function () {
$.ajax({
url: "JS/Draw2d/SampleData/document.js",
async: false,
success: function (result) {
debugger;
jsonStringFromServer = JSON.parse(result);//Here Javascript error stating invalid character
alert(jsonStringFromServer);
}
});
});
答案 0 :(得分:0)
当$.ajax
函数收到JSON时,它会自动为您反序列化。您正在查看的错误是因为您将对象传递给JSON.parse
,而不是JSON格式的字符串 - 您根本不需要使用JSON.parse
。试试这个:
success: function (result) {
debugger;
console.log(result); // = the received object
}
我还强烈建议您删除async: false
,因为使用它是非常糟糕的做法。