Данные Json, содержащие NaN, приводят к ошибке во время запроса ajax

I конечная точка, открытая через 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 ответ

Это происходит потому, что токен NaN недействителен в JSON. JSON является подмножеством синтаксиса инициализатора объекта JavaScript, который не включает в себя несколько его аспектов, включая NaNInfinity, undefined,...).

Веб-API, предоставляющий этот вывод, создает недопустимый JSON, поэтому любой соответствующий анализатор JSON будет жаловаться на него. Вам нужно будет исправить (или попросить провайдеров его исправить) API.

licensed under cc by-sa 3.0 with attribution.