0

我有一个 dados.json 文件,看起来像:

[{\"activeSheetIndex\":0,\"sheetCount\":1,\"tabStripRatio\":0.5,\"tabStripVisible\":true,\"tabEditable\":true,\"newTabVisible\":true,\"referenceStyle\":0,\"useWijmoTheme\":false,\"canUserEditFormula\":true,\"startSheetIndex\":0,\"allowUndo\":true,\

ETC...

我的脚本正在尝试导入此文件:

function () {

var url = "dados.json";

$.ajax({
    url: url,
    datatype: "json",
    success: function (data) {
            try {
                var sd //= JSON.parse(data);
                if (sd.length > 0) {
                    var spread = $("#ss").wijspread("spread");
                        if (!spread) {
                            return;
                        }
                        spread.fromJSON(sd[0]);
                        }
                } 
            catch (ex) {
            }
        },
    error: function (ex) {
        alert(ex);
     }
});

};

这会产生一条警报消息 [object OBJECT]

我也尝试从 dados.json 中删除反斜杠,但错误是一样的。

我究竟做错了什么?

4

1 回答 1

0

您的 JSON 引号被转义,因此 jquery 不知道如何读取它。如果将 dataType 设置为 json,则实际上不必对它进行 json 解析。什么产生了你的 JSON?

删除斜线后,通过验证器http://jsonlint.com/运行 JSON

然后,在 JS 控制台日志数据中的 try 语句之后,看看你得到了什么。在您提出的代码中 sd 只是声明但未定义。也许用数据替换它?

于 2013-10-15T14:02:13.277 回答