Моя первая мысль была связана с некоторыми целями тестирования (в том же случае с использованием $ window вместо окна). Но после того, глядя в исходный код: https://github.com/angular/angular.js/blob/master/src/Angular.js#L977
function toJson(obj, pretty) {
if (typeof obj === 'undefined') return undefined;
if (!isNumber(pretty)) {
pretty = pretty ? 2 : null;
}
return JSON.stringify(obj, toJsonReplacer, pretty);
}
Похоже, это просто обертка для случая с неопределенным объектом как пары.
же для fromJson
: https://github.com/angular/angular.js/blob/master/src/Angular.js#L998
function fromJson(json) {
return isString(json)
? JSON.parse(json)
: json;
}
так, в общем, это просто удалить, что проверка из приложения кода в рамочную коду.