在开始深入了解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)。
总结一下:
把任何 JavaScript 对象变成 JSON,就是把这个对象序列化成一个 JSON 格式的字符串,这样才能够通过网络传递给其他计算机。
JSON 使用 Javascript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。
由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。
JSON 或者 JavaScript 对象表示法是一种轻量级的基于文本的开放标准,被设计用于可读的数据交换。约定使用 JSON 的程序包括 C,C++,Java,Python,Perl 等等。
鉴于书籍数据有语言和版本信息,下面的例子展示了使用 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 对象 来了解更多关于 JSON 对象的信息。