与本地js相关的角度json相关函数

时间:2014-12-15 17:13:42

标签: javascript json angularjs

angular.toJson( obj, pretty );
angular.fromJson( json );

vs

JSON.stringify( obj )
JSON.parse( json )

我曾经使用原生的,但开始使用角度的一致性。使用这些的任何其他理由?

1 个答案:

答案 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);
}

看起来它是一个简单的包装,用于将未定义的对象作为参数。

fromJsonhttps://github.com/angular/angular.js/blob/master/src/Angular.js#L998

function fromJson(json) {
  return isString(json)
      ? JSON.parse(json)
      : json;
}

所以,通常,只是将检查从应用程序代码中移除到框架代码中。