如何追踪 JSON 中的意外令牌?

How to track down an unexpected token in JSON?

undefined:13
]
^

SyntaxError: Unexpected token ] in JSON at position 267

我发现了很多类似的问题,我认为问题是 JSON.parse returns 带有额外 ] 符号的错误数据。可能 HTML 而不是 JSON 之类的。但问题是我无法弄清楚如何追踪问题的确切来源?我有多个 js 文件,其中包含许多 JSON.parse。答案应该在我的错误消息中,但我不知道去哪里查看。第 267 行绝对是一个错误的答案,因为它在我所有的文件中都是空行。谢谢。

完整错误:

undefined:13
]
^

SyntaxError: Unexpected token ] in JSON at position 267
    at JSON.parse (<anonymous>)
    at mybp (eval at <anonymous> (/Users/apple/Desktop/UTESTTWO/app/bp.js:39:1), <anonymous>:109:25)
    at getaccountdata (/Users/apple/Desktop/UTESTTWO/app/bp.js:64:1)
    at Object.<anonymous> (/Users/apple/Desktop/UTESTTWO/app/bp.js:351:1)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/apple/Desktop/UTESTTWO/automatic.js:1:63)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)

一个选项有点像打21题。删除或注释掉对一半代码的调用,看看错误是否仍然存在。这将帮助您判断哪一半包含错误。一旦你知道它是哪一半,然后再次将代码拆分成那一半。重复该过程并继续将代码减半,直到将其缩小到包含错误的部分。

当您没有太多其他事情要做时,有时您必须求助于这样的缩减技术来缩小您的范围。