我是一个通过 Web API 公开的端点,它像这样喷出 JSON:
"[{"SomeId":1,"SomeName":"Some name 1","Parameter1":1.13,"Parameter2":3.0 ...
到 jquery ajax get requests。一切正常,直到 JSON 包含 NaN(不是数字):
"[{"SomeId":1,"SomeName":"Some name 1","Parameter1":1.13,"Parameter2":NaN ...
如果返回此类数据,则会命中错误回调。
这是一个已知问题吗?是jquery还是Web api应该受到指责?我怎样才能缓解这种情况?谢谢。
发生这种情况是因为令牌NaN
在 JSON 中无效。JSON 是 JavaScript 的对象初始值设定项语法的一个子集,它不包括它的几个方面,包括NaN
(和Infinity
、undefined
、...)。
提供该输出的 Web API 正在生成无效的 JSON,因此任何符合要求的 JSON 解析器都会对此提出抱怨。您需要修复(或要求其提供者修复)API。