处理JSON时注意的相关问题进行说明描述

开发
使用处理JSON时,关键之处在于 JSON 就只是文本。由于不需要特殊编码而且每个服务器端脚本都能处理文本数据,所以可以轻松利用 JSON 并将其应用到服务器。

下面介绍说明处理JSON只是常规的文本数据所以在将数据发送到服务器时无需太费心,当决定使用 POST 请求将 JSON 数据发送给服务器时,并不需要对代码进行大量更改,如下所示:

  1. var url = "organizePeople.php?timeStamp=" + new Date().getTime();  
  2. request.open("POST", url, true);  
  3. request.onreadystatechange = updatePage;  
  4. request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
  5. request.send(people.toJSONString()); 

这些代码中的大部分,您都在 “ 掌握 Ajax,第 3 部分:Ajax 中的高级请求和响应” 中见过,应该比较熟悉,第 3 部分重点介绍了如何发送 POST 请求。请求使用处理JSON而非 GET 打开,而且 Content-Type 头被设置为让服务器预知它能得到何种数据。

在这种情况下,即为 application/x-www-form-urlencoded,它让服务器知道现在发送的是文本,正如它从常规的 HTML 表单中得到的一样。另一个简单提示是 URL 的末尾追加了时间。

这就确保了请求不会在它第一次被发送后即缓存,而是会在此方法每次被调用后重新创建和重发;此 URL 会由于时间戳的不同而稍微有些不同。这种技巧常被用于确保到脚本的 POST 每次都会实际生成新请求且 Web 服务器不会尝试缓存来自服务器的响应。

不管使用 GET 还是 POST,关键之处在于 JSON 就只是文本。由于不需要特殊编码而且每个服务器端脚本都能处理文本数据,所以可以轻松利用 JSON 并将其应用到服务器。假如 JSON 是二进制格式的或是一些怪异的文本编码,情况就不这么简单了;幸好处理JSON只是常规的文本数据(正如脚本能从表单提交中所接收到的数据,在 POST 段和 Content-Type 头中亦可以看出),所以在将数据发送到服务器时无需太费心。#t#

一旦您编写完客户端 JavaScript 代码、允许用户与 Web 表单和 Web 页的交互、收集发送给服务器端程序以做处理所需的信息,此时,服务器就成为了应用程序(如果调用了异步使用的服务器端程序,则可能是我们认为的所谓的 “Ajax 应用程序”)中的主角。

在此时,您在客户端所做的选择(比如使用 JavaScript 对象,然后将其转换成 JSON 字符串)必须要与服务器端的选择相匹配,比如使用哪个 API 解码 JSON 数据。。。。。

不管在服务器端使用何种语言,在服务器端处理JSON 基本上就需要两个步骤。

  1. 针对编写服务器端程序所用的语言,找到相应的 JSON 解析器/工具箱/帮助器 API。
  2. 使用 JSON 解析器/工具箱/帮助器 API 取得来自客户机的请求数据并将数据转变成脚本能理解的东西。

以上处理JSON差不多就是目前所应了解的大致内容了。接下来,我们对每个步骤进行较为详细的介绍。

责任编辑:chenqingxiang 来源: 博客园
相关推荐

2010-01-06 16:41:40

解析JSON

2010-01-05 16:26:33

Javascript

2010-01-07 09:44:30

学习JavaScrip

2010-01-08 14:48:26

Javascritp处

2010-01-06 16:04:13

Json_decode

2009-12-28 14:15:06

ADO连接

2010-01-06 15:18:51

Json插件

2010-01-04 16:18:13

ADO.NET连接池

2010-01-06 10:10:04

JSON建构

2010-01-06 15:30:51

JSON和XML

2010-01-07 17:24:31

JSON 解析器

2010-01-05 17:35:09

JSON数组格式

2010-01-07 17:33:17

JSON 对象

2010-02-01 17:01:16

初学Python

2010-01-12 18:06:58

VC环境

2010-01-08 14:06:49

JSON 形式

2010-01-07 17:09:59

JSON 方法调用

2010-01-07 15:26:29

JSON结构

2010-01-07 09:31:27

Json数据异常

2010-01-07 17:41:19

JSON定义法
点赞
收藏

51CTO技术栈公众号