欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

松软科技Web课堂:JavaScript JSON

程序员文章站 2022-05-31 22:02:47
JSON 是存储和传输数据的格式。 JSON 经常在数据从服务器发送到网页时使用。 什么是 JSON? JSON 指的是 JavaScript Object Notation JSON 是轻量级的数据交换格式 JSON 独立于语言 * JSON 是“自描述的”且易于理解 * JSON 的语法是来自 ......

json 是存储和传输数据的格式。

json 经常在数据从服务器发送到网页时使用。

什么是 json?

  • json 指的是 javascript object notation
  • json 是轻量级的数据交换格式
  • json 独立于语言 *
  • json 是“自描述的”且易于理解

* json 的语法是来自 javascript 对象符号的语法,但 json 格式是纯文本。读取和生成 json 数据的代码可以在任何编程语言编写的。

json 实例

json 语法定义了一个雇员对象:包含三条员工记录的数组(对象):

json 实例

{
"employees":[
    {"firstname":"bill", "lastname":"gates"}, 
    {"firstname":"steve", "lastname":"jobs"},
    {"firstname":"alan", "lastname":"turing"}
]
}

json 格式评估为 javascript 对象

json 格式在语法上与创建 javascript 对象的代码相同。

由于这种相似性,javascript 程序可以很容易地将 json 数据转换成本地的 javascript 对象。

json 语法规则

  • 数据是名称/值对
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

json 数据 - 名称和值

json 数据的书写方式是名称/值对,类似 javascript 对象属性。

名称/值对由(双引号中的)字段名构成,其后是冒号,再其后是值:

"firstname":"bill"

 

json 名称需要双引号。javascript 名称不需要。

json 对象

json 对象是在花括号内书写的。

类似 javascript,对象能够包含多个名称/值对:

{"firstname":"bill", "lastname":"gates"} 

 

json 数组

json 数组在方括号中书写。

类似 javascript,数组能够包含对象:

"employees":[
    {"firstname":"bill", "lastname":"gates"}, 
    {"firstname":"steve", "lastname":"jobs"}, 
    {"firstname":"alan", "lastname":"turing"}
]

  

在上面的例子中,对象 "employees" 是一个数组。它包含了三个对象。

每个对象代表一个人的一条记录(带有名和姓)。

把 json 文本转换为 javascript 对象

json 的通常用法是从 web 服务器读取数据,然后在网页中显示数据。

为了简单起见,可以使用字符串作为输入演示。

首先,创建包含 json 语法的 javascript 字符串:


然后,使用 javascript 的内建函数 json.parse() 来把这个字符串转换为 javascript 对象:

var obj = json.parse(text);

最后,请在您的页面中使用这个新的 javascript 对象:

实例

<p id="demo"></p>

<script>
document.getelementbyid("demo").innerhtml =
obj.employees[1].firstname + " " + obj.employees[1].lastname;
</script> 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

文章来源:www.sysoft.net.cn,加v:15844800162深度交流