包含NaN的Json数据在ajax请求期间导致错误

时间:2013-09-25 13:31:38

标签: jquery json asp.net-web-api json.net

我是通过web api公开的端点,它喷出JSON,如下所示:

"[{"SomeId":1,"SomeName":"Some name 1","Parameter1":1.13,"Parameter2":3.0 ...

到jquery ajax获取请求。一切正常,直到JSON包含NaN(不是数字):

"[{"SomeId":1,"SomeName":"Some name 1","Parameter1":1.13,"Parameter2":NaN ...

如果返回此类数据,则会触发错误回调。

这是一个已知问题吗?是jquery还是web api?我该如何缓解这种情况?感谢。

1 个答案:

答案 0 :(得分:6)

这是因为JSON中的令牌NaN无效。 JSON是JavaScript的对象初始化语法的子集,它不包括它的几个方面,包括NaN(和Infinityundefined,... )。

提供该输出的Web API产生无效的JSON,因此任何符合要求的JSON解析器都会抱怨它。您需要修复(或要求其提供商修复)API。