angular json - meetbill/butterfly-fe GitHub Wiki
对于所有通过 $http 服务发出的请求和收到的响应来说,AngularJS 都会进行一些基本的转换,包括如下内容。
- 转换请求:如果请求的配置对象属性中包含 JS 对象,那么就把这个对象序列化成 JSON 格式。
- 转换响应:如果检测到了 XSRF 前缀,则直接丢弃。如果检测到了 JSON 响应,则使用 JSON 解析器对它进行反序列化。
前端展示格式化的 json 数据,比如参数之类的
JSON 与 JS 对象的关系
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
angularjs 中有 fromJson 和 toJson 两个方法用于处理 json 和 JS 对象之间的转换
var obj = {a: 'ni', b: 'hao'}; //这是一个对象,注意键名也是可以使用引号包裹的
var json = '{"a": "ni", "b": "hao"}'; //这是一个 JSON 字符串,本质是一个字符串
JSON 转换为 JS 对象
obj = angular.fromJson(json)
JS 对象转换为 JSON
json = angular.toJson(obj)
缩进 2 个空格
for (var i = 0; i < $scope.task_detail.tasks.length; i++) {
var params_data = angular.fromJson($scope.task_detail.tasks[i].params)
$scope.task_detail.tasks[i].params = angular.toJson(params_data,2)
console.log($scope.task_detail.tasks[i].params)
}
这个阶段 console.log($scope.task_detail.tasks[i].params) 输出的是格式化的 json 数据
但在前端显示的还是紧凑的形式
<pre>__task.params__</pre>
这个阶段已经是格式化输出,但是默认不折行
<pre style='white-space: pre-wrap;'>__task.params__</pre>