小编Jus*_*ley的帖子

确定JSON解析错误的位置

我正在创建一个允许用户以JSON格式加载数据的Web应用程序.我目前正在使用以下函数来读取我保存在本地磁盘上的JSON文件:

function retrieveJSON(url, callback)
{
  // this is needed because FireFox tries to parse files as XML
  $.ajaxSetup({ mimeType: "text/plain" });

  // send out an AJAX request and return the result
  $.getJSON(url, function(response) {
    console.log("Data acquired successfully");
    callback(response);
  }).error(function(jqXHR, textStatus, errorThrown) {
    console.log("Error...\n" + textStatus + "\n" + errorThrown);
  });
}
Run Code Online (Sandbox Code Playgroud)

这适用于格式良好的JSON数据.但是,对于格式错误的数据,控制台日志显示以下内容:

Error...
parsererror
SyntaxError: JSON.parse: unexpected character
Run Code Online (Sandbox Code Playgroud)

这几乎完全没有用,因为它没有告诉我意外的字符是什么或者它可以找到什么行号.我可以使用JSON验证器来更正本地磁盘上的文件,但是当页面从Web上的远程URL加载文件时,这不是一个选项.

如何获取任何错误的位置?如果可能的话我想获得令牌,但我需要至少获得行号.有一个项目需要显示JSON代码到用户的摘录,并着重出现的任何错误的行.

我目前使用jQuery,但是jQuery是不是一个项目的要求,因此,如果另一个API或JSON解析器提供了这个功能,我可以使用,来代替.

parsing json numbers line

6
推荐指数
1
解决办法
2985
查看次数

标签 统计

json ×1

line ×1

numbers ×1

parsing ×1