Ajax 编程技术 第十一章 JSON

Click here to load reader

download Ajax 编程技术 第十一章 JSON

of 22

description

Ajax 编程技术 第十一章 JSON. 11.1 概述. 向服务器发出 Ajax 请求时,可以以两种不同的方式从服务器响应中检索数据,一种是 responseXML ,一种是 responseText 。前者以 XML 格式检索数据,解析数据比较困难,后者以纯文本格式解析数据。 Douglas Crockford 创建了另一种数据传输格式,我们称之为 JavaScript 对象表示法 (JavaScript Object Notation ) 。它是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于 JavaScript 的一个子集。 - PowerPoint PPT Presentation

Transcript of Ajax 编程技术 第十一章 JSON

PowerPoint PresentationJSONCJSON
An ordered list of values(array)

JSON
“‘/’”“{”“}”“”“”“‘/’”“”
value“[”“]”“”
valueString(number)truefalsenull(object)(array)
stringUnicode(character)(characeter string)
Ajax
11.2 JSON
XML
<user>
XMLJSON JSON StringNumberBoolean Object
StringNumber Boolean JSON JSON String “ abc ”"abc"
Ajax
11.2 JSON
“\/ \b\f\n\r\t Unicode
String
Ajax
11.2 JSON
12345
-3.9e10
Ajax
11.2 JSON
Object JSON {} Key-Value Object Java Map<String, Object> Java Class Key String
Address Key-Value
city:Beijing street:Chaoyang Roadpostcode:100025
JSON
JSON JSON JavaScript JSON
Web JavaScript JSON JavaScript JSON
function handleJson() {
JSON
JavaScript XML DOM JSON Ajax JSON
{"name":"Michael",
Ajax JSON Prototype JavaScript http://prototypejs.org evalJSON() JSON JavaScript
new Ajax.Request ("http://url", {
GET / JSON
var people =
],
{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
],
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
]
}
/
var url = "organizePeople.php?people=" + people.toJSONString();
escape Web %20 “”
GET URL JSON

Ajax
POST JSON
var url = "organizePeople.php?timeStamp=" + new Date().getTime();
request.open("POST", url, true);
application/x-www-form-urlencoded
value
UTF-8 /
echo json_encode($arr);
    {  $char = $json[$c];
               $indent_level++;
                }
mixed json_decode ( string $json [, bool $assoc ] )
$assocTRUE
$assoc TRUE array object
Ajax
11.4 PHPJSON
      $json = substr($json, strpos($json,'{')+1, strlen($json));
      $json = substr($json, 0, strrpos($json,'}'));
      $json = preg_replace('/(^|,)([\\s\\t]*)([^:]*) (([\\s\\t]*)):(([\\s\\t]*))/s', '$1"$3"$4:', trim($json));
      return json_decode('{'.$json.'}', true);