解析无效的JSON

Chr*_*phe 0 javascript parsing json

如果我在无效字符串上使用JSON.parse会发生什么?它会返回错误代码,还是只是破坏脚本?

浏览器的行为是否一致?对于旧版浏览器,json2.js也有相同的行为吗?

上下文:我的脚本从不同的源收集JSON字符串并解析它们.如果字符串格式不正确,我希望我的脚本忽略它并移动到下一个.

Ric*_*asi 7

它会为任何无效语法抛出错误.如果您正在解析的JSON格式不正确,请使用try/catch:

try {
  obj = JSON.parse(x)
} catch(e) {
  obj = {}
}
Run Code Online (Sandbox Code Playgroud)