JSON概述

目录

什么是JSON

官方定义

通俗解释

举例

特性

与JavaScipt对象转换

JSON的应用范围

JSON 特点

JavaScript与JSON

与XML关系

相同之处

不同之处

JSON优势


什么是JSON

官方定义

 

JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。


通俗解释

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

从Web API和服务端编程语言到NoSQL数据库和客户端框架,都有JSON的身影。

JSON被设计用于可读的数据交换。

在不同平台间传递数据方面,JSON已成为XML强有力的替代者。


举例

{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}

 这个 employee 对象是包含 3 个员工记录(对象)的数组。

<html>
<head>
<title>JSON example</title>
<script language="javascript" >

    var object1 = { "language" : "Java", "author"  : "herbert schildt" };
    document.write("<h1>JSON with JavaScript example</h1>");
    document.write("<br>");
    document.write("<h3>Language = " + object1.language+"</h3>");  
    document.write("<h3>Author = " + object1.author+"</h3>");   

    var object2 = { "language" : "C++", "author"  : "E-Balagurusamy" };
    document.write("<br>");
    document.write("<h3>Language = " + object2.language+"</h3>");  
    document.write("<h3>Author = " + object2.author+"</h3>");   

    document.write("<hr />");
    document.write(object2.language + " programming language can be studied " +
    "from book written by " + object2.author);
    document.write("<hr />");

</script>
</head>
<body>
</body>
</html>

 现在尝试使用 IE 或者其他任何启用了 JavaScript 的浏览器打开这个页面,它会生成如下所示结果:

json example demo


特性

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言 *
  • JSON 具有自我描述性,更易理解

把任何 JavaScript 对象变成 JSON,就是把这个对象序列化成一个 JSON 格式的字符串,这样才能够通过网络传递给其他计算机。

JSON 使用 Javascript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHPJSP.NET)编程语言都支持JSON。


与JavaScipt对象转换

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

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

JSON--->eval()--->JavaScipt对象


JSON的应用范围

  • 用于编写基于 JavaScript 应用程序,包括浏览器扩展和网站。
  • JSON 格式可以用于通过网络连接序列化和传输结构化数据。
  • 主要用于在服务器和 Web 应用程序之间传输数据。
  • Web 服务和 APIs 可以使用 JSON 格式提供公用数据。
  • 还可以用于现代编程语言中。

JSON 特点

  • JSON 容易阅读和编写。
  • 它是一种轻量级的基于文本的交换格式。
  • 语言无关。

JavaScript与JSON

本节从一个JSON实例开始,为你进一步介绍JSON。

首先要明白 JSON 是一种轻量级的文本数据交换格式而非编程语言,其语法只支持字符串,数值,布尔值及null以及在此基础上的对象和数组,详细的 JSON 语法规则将会在之后的章节进行介绍。

<!DOCTYPE html>
<html>
<body>
<h2>JSON Object Creation in JavaScript</h2>
<p>
Name: <span id="jname"></span><br />
Age: <span id="jage"></span><br />
Address: <span id="jstreet"></span><br />
Phone: <span id="jphone"></span><br />
</p>

<script>
var JSONObject= {
"name":"John Johnson",
"street":"Oslo West 555",
"age":33,
"phone":"555 1234567"};
document.getElementById("jname").innerHTML=JSONObject.name
document.getElementById("jage").innerHTML=JSONObject.age
document.getElementById("jstreet").innerHTML=JSONObject.street
document.getElementById("jphone").innerHTML=JSONObject.phone
</script>

</body>
</html>

 

与XML关系

相同之处

  • JSON 是纯文本
  • JSON 具有"自我描述性"(人类可读)
  • JSON 具有层级结构(值中存在值)
  • JSON 可通过 JavaScript 进行解析
  • JSON 数据可使用 AJAX 进行传输

不同之处

  • 没有结束标签
  • 更短
  • 读写的速度更快
  • 能够使用内建的 JavaScript eval() 方法进行解析
  • 使用数组
  • 不使用保留字

JSON优势

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

使用 XML

  • 读取 XML 文档
  • 使用 XML DOM 来循环遍历文档
  • 读取值并存储在变量中

使用 JSON

  • 读取 JSON 字符串
  • 用 eval() 处理 JSON 字符串

有关JSON的介绍到此为止,在接下来的章节中,我们将开始学习与使用JSON!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值