javascript - 什么是json,能给新手解释一下吗?

标签 javascript json

你能用最简单的话解释一下吗?

最好有演示脚本。

最佳答案

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/

相关文章:

php - 具有多个用户位置的 Google map Android 应用

json - 如何有条件地将 JSON 反序列化为枚举的两个不同变体?

java - 在 Dropwizard yaml 中找不到 DatabaseConfiguration 子类中的属性(分层问题)

javascript - 站点上的 js 代码可以阻止其他 js 代码检测到 Flash 的存在吗?

javascript - 警告 : <Link/> is using incorrect casing. React 组件使用 PascalCase

javascript - 在 Google Charts Treemap 中禁用向下移动

json - 如何在逻辑应用程序中将字符串解析为 JSON?

javascript - 需要帮助将数组显示到几个文本框

javascript - postman 测试抛出 "TypeError: Cannot read property ' get' of undefined"

php - 使用 MySQL 5.6 在 JSON 对象中搜索属性