你能用最简单的话解释一下吗?
最好有演示脚本。
最佳答案
JSON 是一种共享数据的方式(通常在浏览器和服务器之间)。
JavaScript 允许两种方式来存储值的集合:
//arrays:
[value, value, value]
//objects:
{key:value, key:value, key:value}
在某个时候,一位名叫 Doug 的大师意识到,将数据发送到已经像对象一样设置的 JavaScript 通常是最有效的。 [而不是 PHP 发送逗号分隔的字符串、后数据、XML 甚至 HTML,所有这些都必须由 JavaScript 精心解析]。
因此他将这个想法称为 JSON,并为其编写了规范,然后该标准诞生了。
例如,假设您的 login.php 脚本应该返回用户名、帖子总数和自注册以来的天数:
//XML
"<xml..><details>\
<user>Jim</user><posts>239</posts><since>Jan09</since>\
</details>"
//POSTData
"user=Jim&posts=239&since=Jan09"
//JSON
"{user:'Jim', posts:239, since:'Jan09'}"
最后一个可以很容易被JS解析(使用eval
),具体细节可以直观的使用:
var user = details.user;
编辑:
正确地指出,要成为有效的 JSON,所有字符串都必须用双引号引起来。
这样做是为了防止 JS 在保留关键字上崩溃(在 JS 中,可能不会使用某些词,例如 class
,除非它们被引用。因此不能使用 {class:'mike'}
)。
还应该指出的是,PHP 5.2+ 具有可用于创建或解析 JSON 的函数:
<?php
$arr = array ('a'=>'ay','b'=>'bee','c'=>'cee');
echo json_encode($arr); //outputs {"a":"ay","b":"bee","c":"cee"}
?>
json_<b>decode</b>
函数仅在 JSON 有效时才有效,因此有时正确使用这些双引号很重要。
关于javascript - 什么是json,能给新手解释一下吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1695883/