JSON必知必会笔记(2)--第6章 JavaScript中的XMLHttpRequest与Web API

js中的XMLHttpRequest负责在客户端发起请求,而Web API负责在服务器返回响应。
在这一章,我们将着眼于一种请求JSON资源(一种内容为application/json的资源)的客户端,以及为这类顾客服务的餐厅:Web API。

什么是Web API

Web API是通过http服务进行交互的一组指令和标准。这些交互可以包括创建、读取、更新、删除等操作,而且Web API都会有一份说明,概述如何使用这些指令和操作。
js在幕后的这些操作被称之为异步操作,异步操作是指发生在幕后的,不会中断主进程的操作。
在js的异步操作中,“主进程”是指web浏览器的显示进程。例如,一个新闻页面可能会包含一个实时显示天气数据的侧边栏。在阅读新闻的时候,后台的代码会每隔60s异步更新显示的天气数据。而这一操作并不需要刷新页面,也不会在阅读文章时对页面滚动产生什么影响。页面中唯一发生的变化只是包含天气信息的侧边栏。
这里提到的js中的异步(后台)操作被称为AJAX。AJAX的全称是Asynchronous JavaScript and XML。

序列化和反序列化

序列化时将对象转化为文本的过程,反序列化是将文本转化为对象的过程。
JSON.parse() 进行反序列化
JSON.stringify() 进行序列化
由于json一开始还不是对象,所以使用JSON.parse() 进行反序列化是有必要的。请记住,json的意思是为js对象表示法。当它以json形式存在时,字面上代表的是以文本形式表示的一个对象。为了让json变为真正的对象,需要进行反序列化操作。
也可以用过JSON.stringify() 对json进行序列化。
实例:对象的序列化和反序列化

// json响应的反序列化
var myObject = JSON.parse(myXMLHttpResponse.responseText)
// 对象的序列化
var myJSON  = JSON.stringify(myObject)

猜你喜欢

转载自blog.csdn.net/enjolras_fuu/article/details/80142977