如何使用javascript或jquery读取非标准的json文件

时间:2014-05-30 05:45:25

标签: javascript jquery json

我有以下json文件格式。

{
  "browser": "firefox",
  "dateTime": "28_May_2014_03_35_PM"
}
{
  "browser": "firefox",
  "dateTime": "28_May_2014_03_36_PM"
}

根据要求我不能改变它的格式,但我必须阅读这个我知道我们可以提供[和]括号并将每个元素分开,但我不能这样做,我的源文件只有以上格式。

那我该怎么读这样的文件?

有没有办法读取此类文件并将整个文件内容转换为有效的json格式内容?

2 个答案:

答案 0 :(得分:2)

你可以尝试这样的事情

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>

<script>
  debugger;
  var input = '{  "browser": "firefox",  "dateTime": "28_May_2014_03_35_PM"  }  {    "browser": "firefox",    "dateTime": "28_May_2014_03_36_PM"  }';

  input = input.replace('}', '},');
  input = '[' + input + ']';

  var _json = JSON.parse(input);

  for (var i = 0; i < _json.length; i++)
    alert(_json[i].browser);
</script>
</body>
</html>

但如果你的嵌套对象里面不起作用

答案 1 :(得分:2)

如果文件完全,那么您可以将其转换为有效的JSON并解析它。

var contents = JSON.parse("[" + fileContents.replace("}\n", "},\n", "g") + "]");

但是,不要这样做。如果生成了无效的JSON文件,请查找修复生成它的代码的方法。如果它是静态文件,请在继续之前修复它。要求很少一成不变。