codecamp

JSON 教程导读

导读

在开始深入了解JSON知识之前,让我们先了解什么是JSON!

JSON的全称是:JavaScript Object Notation(JavaScript 对象表示法)。 

是一种存储和交换文本信息的语法,类似 XML。

JSON 比 XML 更小、更快,更易解析。

JSON实例:

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

这个 JSON 表示一个employee 数组对象,其中包含 3 条员工记录(对象)。

在良好的JSON格式中,JSON还拥有更易于阅读的特性(相较于XML)。
虽然JSON最开始是基于JavaScript的对象进行设计的,但因为JSON是用于前后端交互的,而后端语言有很多不同的种类,所以很多语言都支持JSON的解析,JSON已经独立于JavaScript,成为一种通用的描述数据的格式了。

虽然JSON在很多方面都优于XML,但XML在某些方面是不可替代的(比如SVG)。


什么是 JSON ?

总结一下:

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级文本数据交换格式
  • JSON 是基于JavaScript的子集,但很多编程语言都提供了支持,是一种通用的数据格式。
  • JSON 具有自我描述性,更易理解

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

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


JSON - 转换为 JavaScript 对象

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

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

Json简介

JSON 或者 JavaScript 对象表示法是一种轻量级的基于文本的开放标准,被设计用于可读的数据交换。约定使用 JSON 的程序包括 C,C++,Java,Python,Perl 等等。

  • JSON 是 JavaScript Object Notation 的缩写。
  • 这个格式由 Douglas Crockford 提出。
  • 被设计用于可读的数据交换。
  • 它是从 JavaScript 脚本语言中演变而来。
  • 文件名扩展是 .json
  • JSON 的网络媒体类型是 application/json
  • 统一标示符类型(Uniform Type Identifier)是 public.json。

JSON 使用范围

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

JSON 特点

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

JSON 简单示例

鉴于书籍数据有语言和版本信息,下面的例子展示了使用 JSON 存储书籍信息:

{
    "book": [
        {
            "id":"01",
            "language": "Java",
            "edition": "third",
            "author": "Herbert Schildt"
        },
        {
            "id":"07",
            "language": "C++",
            "edition": "second",
            "author": "E.Balagurusamy"
    }]
}

理解上述程序之后我们来看另外一个例子,让我们把下面的代码保存为 json.htm

<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 对象 来了解更多关于 JSON 对象的信息。


关于 JSON
JSON 简介
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }