JSON 简单教程

Posted 程序员爱学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON 简单教程相关的知识,希望对你有一定的参考价值。

什么是 JSON ?

  • JSON 指的是 javascript 对象表示法(JavaScript Object Notation)

  • JSON 是轻量级的文本数据交换格式

  • JSON 独立于语言 *

  • JSON 具有自我描述性,更易理解

* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

JSON - 转换为 JavaScript 对象

JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。

由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

实例

 1<html>
2<body>
3<h2>在 JavaScript 中创建 JSON 对象</h2>
4
5<p>
6Name: <span id="jname"></span><br />
7Age: <span id="jage"></span><br />
8Address: <span id="jstreet"></span><br />
9Phone: <span id="jphone"></span><br />
10</p>
11
12<script type="text/javascript">
13var JSONObject= {
14    "name":"Bill Gates",
15    "street":"Fifth Avenue New York 666",
16    "age":56,
17    "phone":"555 1234567"
18};
19document.getElementById("jname").innerHTML=JSONObject.name
20document.getElementById("jage").innerHTML=JSONObject.age
21document.getElementById("jstreet").innerHTML=JSONObject.street
22document.getElementById("jphone").innerHTML=JSONObject.phone
23
</script>
24
25</body>
26</html>

类似 XML

  • JSON 是纯文本

  • JSON 具有“自我描述性”(人类可读)

  • JSON 具有层级结构(值中存在值)

  • JSON 可通过 JavaScript 进行解析

  • JSON 数据可使用 AJAX 进行传输

相比 XML 的不同之处

  • 没有结束标签

  • 更短

  • 读写的速度更快

  • 能够使用内建的 JavaScript eval() 方法进行解析

  • 使用数组

  • 不使用保留字

为什么使用 JSON?

对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:

使用 XML

  • 读取 XML 文档

  • 使用 XML DOM 来循环遍历文档

  • 读取值并存储在变量中

使用 JSON

  • 读取 JSON 字符串

  • 用 eval() 处理 JSON 字符串

JSON 语法是 JavaScript 语法的子集。

JSON 语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在名称/值对中

  • 数据由逗号分隔

  • 花括号保存 对象

  • 方括号保存 数组

JSON 名称/值对

JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

1"firstName" : "John"

这很容易理解,等价于这条 JavaScript 语句:

1firstName = "John"

JSON 值

JSON 值可以是:

  • 数字(整数或浮点数)

  • 字符串(在双引号中)

  • 逻辑值(true 或 false)

  • 数组(在方括号中)

  • 对象(在花括号中)

  • null

JSON 对象

JSON 对象在花括号中书写:
对象可以包含多个名称/值对:

1{ "firstName":"John" , "lastName":"Doe" }

这一点也容易理解,与这条 JavaScript 语句等价:

1firstName = "John"
2lastName = "Doe"

JSON 数组

JSON 数组在方括号中书写:
数组可包含多个对象:

 1{
2    "employees":[
3        {
4            "firstName":"John",
5            "lastName":"Doe"
6        },
7        {
8            "firstName":"Anna",
9            "lastName":"Smith"
10        },
11        {
12            "firstName":"Peter",
13            "lastName":"Jones"
14        }
15    ]
16}

在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。

JSON 使用 JavaScript 语法

因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。

通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

例子

1var employees = [
2    { "firstName":"Bill" , "lastName":"Gates" },
3    { "firstName":"George" , "lastName":"Bush" },
4    { "firstName":"Thomas" , "lastName": "Carter" }
5];

可以像这样访问 JavaScript 对象数组中的第一项:

1employees[0].lastName;

返回的内容是:

1Gates

可以像这样修改数据:

1employees[0].lastName = "Jobs";


以上是关于JSON 简单教程的主要内容,如果未能解决你的问题,请参考以下文章

json 个人的vscode的代码片段

VIM 代码片段插件 ultisnips 使用教程

实用代码片段将json数据绑定到html元素 (转)

VSCode插件开发全攻略代码片段设置自定义欢迎页

json 可视代码工作室Angular with Firebase片段

vs code 用户代码片段 html.json