angular.toJson( obj, pretty );
angular.fromJson( json );
vs
JSON.stringify( obj )
JSON.parse( json )
我曾经使用原生的,但开始使用角度的一致性。使用这些的任何其他理由?
答案 0 :(得分:3)
我的第一个想法是它与某些测试目的有关(使用$ window而不是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;
}
所以,通常,只是将检查从应用程序代码中移除到框架代码中。