《AngularJS高级程序设计》——5.10 使用JSON-阿里云开发者社区

开发者社区> 开发与运维> 正文

《AngularJS高级程序设计》——5.10 使用JSON

简介: JavaScript对象符号(JSON)已经成了名副其实的Web应用数据格式。在JavaScript代码中使用JSON是简单且容易的,这就是为什么它已经变得如此流行。JSON支持一些基本的数据类型,与JavaScript巧妙地结合在了一起:Number、String、Boolean、Array、Object和特殊类型null。

本节书摘来自异步社区《AngularJS高级程序设计》一书中的第5章,第5.10节,作者:【美】Adam Freeman(弗里曼)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

5.10 使用JSON

JavaScript对象符号(JSON)已经成了名副其实的Web应用数据格式。在JavaScript代码中使用JSON是简单且容易的,这就是为什么它已经变得如此流行。JSON支持一些基本的数据类型,与JavaScript巧妙地结合在了一起:Number、String、Boolean、Array、Object和特殊类型null。

在此提醒,这是todo.json文件的内容,它包括简单的JSON字符串:

screenshot

JSON数据看起来和JavaScript用来声明数组和对象的字面量类似。唯一的不同是对象的属性名被放到了引号中。

提示:
JSON使用起来很容易,但你仍然可能陷入麻烦,因为JSON库编码和解码JSON有些许差异,当Web应用和服务器支持把它写在不同的编程语言中时问题就会暴露。最普遍的问题是日期,由于地区日历和计数格式,这是很难在最优情况中使用的。JSON没有原生对日期的定义,给JSON库纬度类型会导致不同的编码风格。彻底地测试你的JSON数据是很重要的,以确保数据贯穿你整个端到端应用程序自始至终都是编码的。
AngularJS使得使用JSON很简单。当你通过Ajax请求JSON数据时,响应会被自动解析成JavaScript对象并传给success函数,如上一示例中我使用$http.get方法从Web服务器获取JSON文件时所演示的那样。

AngularJS补充了两个显式编码和解码JSON的方法:angular.fromJson和angular.toJson。你可以在清单5-44看到二者。

清单5-44 在文件jsdemo.html中编码和解码JSON数据

screenshot

在本例中,我动了传入承诺success函数的数据对象。这是从Web服务器作为JSON数据被接收并通过AngularJS自动解析成JavaScript数组的。然后我调用angular.toJson方法再次把数组编码为JSON并将它写入控制台。最后我拿到我创建的JSON调用angular.fromJson方法创建另一个JavaScript对象,我用它填充AngularJS控制器中的数据模型,还通过ng-repeat指令填充table元素。

提示:
许多最常见的需要JSON数据的AngularJS功能都将自定编码和解码数据,所以你不会经常需要使用这些方法。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章