您的位置  > 互联网

PHP中常见的JSON语法解析及应用程序分析

JSON 是一种用于存储和交换文本信息的语法。 与 XML 类似。

JSON 比 XML 更小、更快且更容易解析。

JSON 示例

{
 "sites": [
 { "name":"呐喊教程" , "url":"www.nhooo.com" }, 
 { "name":"google" , "url":"www.google.com" }, 
 { "name":"微博" , "url":"www.weibo.com" }
 ]
}

site 对象是一个包含 3 个站点记录(对象)的数组。

什么是 JSON?

JSON 指的是对象表示法 ( )

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

JSON 与语言无关:JSON 使用语法来描述数据对象,但 JSON 保持语言和平台无关。 JSON 解析器和 JSON 库支持许多不同的编程语言。 目前,许多动态(PHP、JSP、.NET)编程语言都支持 JSON。

JSON 是自描述的并且更容易理解

JSON - 转换为对象

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

由于这种相似性,程序可以使用内置的 eval() 函数从 JSON 数据生成本机对象,而无需解析器。

网上例子

我们的编辑器可让您在线编辑代码并通过单击按钮查看结果:




<meta charset="utf-8">
呐喊教程(jb51.net)

<body>

JavaScript 创建 JSON 对象

网站名称:
网站地址:
网站 slogan:

<script> var JSONObject= { "name":"呐喊教程", "url":"www.nhooo.com", "slogan":"学的不仅是技术,更是梦想!" }; document.getElementById("jname").innerHTML=JSONObject.name document.getElementById("jurl").innerHTML=JSONObject.url document.getElementById("jslogan").innerHTML=JSONObject.slogan </script>

类似于 XML

JSON 是纯文本

JSON 是“自描述​​的”(人类可读)

JSON具有层次结构(值内有值)

JSON 可以通过以下方式解析

JSON数据可以使用AJAX传输

与 XML 的区别

没有结束标签

较短

读写速度更快

能够使用内置的 eval() 方法进行解析

使用数组

不要使用保留字

为什么使用 JSON?

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

使用XML

读取XML文档

使用 XML DOM 循环遍历文档

读取值并存储在变量中

使用 JSON

读取 JSON 字符串

使用 eval() 处理 JSON 字符串

JSON语法

JSON 语法是语法的子集。

JSON语法规则

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

数据以名称/值对的形式存在

数据以逗号分隔

大括号保存对象

方括号保存数组

JSON 名称/值对

JSON数据的写入格式为:名称/值对。

名称/值对由字段名称(用双引号引起来)、后跟冒号和值组成:

"name" : "喊叫教程"

这很容易理解,相当于这样的说法:

name =“喊叫教程”

JSON值

JSON 值可以是:

数字(整数或浮点数)

字符串(用双引号括起来)

逻辑值(真或假)

数组(在方括号中)

对象(在大括号中)

无效的

JSON 数字

JSON 数字可以是整数或浮点数:

{“年龄”:30}

JSON 对象

JSON 对象写在大括号 ({}) 内:

一个对象可以包含多个名称/值对:

{ "name":"喊叫教程" , "url":"" }

这很容易理解,相当于这样的说法:

name =“喊叫教程”

网址=“”

JSON数组

JSON 数组写在方括号中:

数组可以包含多个对象:

“网站”:[

{ "name":"喊叫教程" , "url":"" },

{ "名称":"" , "网址":"" },

{ "name":"微博" , "url":"" }

在上面的示例中,对象“sites”是一个包含三个对象的数组。 每个对象代表一个关于网站的记录(名称、URL)。

JSON 布尔值

JSON 布尔值可以是 true 或 false:

{“标志”:真}

JSON 空

JSON可以设置空值:

{“jb51”:空}

JSON 使用语法

由于 JSON 使用语法,因此不需要额外的软件来处理 .

通过,您可以创建一个对象数组并赋值,如下所示:

变量站点 = [

{ "名称":"jb51" , "网址":"" },

{ "名称":"" , "网址":"" },

{ "name":"微博" , "url":"" }

];

对象数组中的第一项可以这样访问(索引从 0 开始):

站点[0].名称;

返回的内容为:

jb51

数据可以这样修改:

site[0].name="喊叫教程";




<meta charset="utf-8">
呐喊教程(jb51.com)

<body>

JavaScript 创建 JSON 对象

第一个网站名称:

第一个网站修改后的名称:

<script> var sites = [ { "name":"jb51" , "url":"www.jb51.com" }, { "name":"google" , "url":"www.google.com" }, { "name":"微博" , "url":"www.weibo.com" } ]; document.getElementById("name1").innerHTML=sites[0].name; // 修改网站名称 sites[0].name="呐喊教程"; document.getElementById("name2").innerHTML=sites[0].name; </script>

在接下来的章节中,您将学习如何将 JSON 文本转换为对象。

JSON 文件

JSON 文件的文件类型为“.json”

JSON 文本的 MIME 类型是“/json”

JSON 与 XML

JSON 和 XML 都用于从 Web 服务器接收数据。

JSON和XML的写法不同,如下图:

JSON 示例

“网站”:[

{ "name":"喊叫教程" , "url":"" },

{ "名称":"" , "网址":"" },

{ "name":"微博" , "url":"" }

XML 示例


 
 呐喊教程 www.jb51.com
 
 
 google www.google.com
 
 
 微博 www.weibo.com
 

JSON 和 XML 之间的相似之处:

JSON 和 XML 数据都是“自描述​​”且易于理解。

JSON 和 XML 数据都具有层次结构

大多数编程语言都可以使用 JSON 和 XML 数据

JSON 和 XML 之间的区别:

JSON 不需要结束标签

JSON 更短

JSON 读写速度更快

JSON可以使用数组

最大的区别是:XML需要使用XML解析器来解析,而JSON可以使用标准函数来解析。

JSON.parse():将 JSON 字符串转换为对象。

JSON.():将值转换为 JSON 字符串。

为什么 JSON 比 XML 更好?

XML 比 JSON 更难解析。

JSON可以直接使用现有的对象进行解析。

对于 AJAX 应用程序,JSON 比 XML 数据加载更快、更简单:

使用XML

获取XML文档

使用 XML DOM 迭代循环文档

解析数据并将其复制到变量

使用 JSON

获取 JSON 字符串

JSON.Parse 解析 JSON 字符串