JavaScript JSON

本文深入探讨了JSON作为数据交换格式的基本概念、语法规则及其在JavaScript中的应用。介绍了JSON的结构特点,如对象和数组的表示方式,以及如何通过JSON.parse()函数将JSON字符串转换为JavaScript对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSON

(一)JSON概念

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript
		(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

在这里插入图片描述

在这里插入图片描述

JSON 实例
{"sites":[     {"name":"Runoob", "url":"www.runoob.com"},      {"name":"Google", "url":"www.google.com"},     {"name":"Taobao", "url":"www.taobao.com"} ]}

(二)JSON 语法规则

JSON 格式化后为 JavaScript 对象
JSON 格式在语法上与创建 JavaScript 对象代码是相同的。

由于它们很相似,所以 JavaScript 程序可以很容易的将 JSON 数据转换为 JavaScript 对象。

在这里插入图片描述

JSON 数据 - 一个名称对应一个值
JSON 数据格式为 键/值 对,就像 JavaScript 对象属性。

键/值对包括字段名称(在双引号中),后面一个冒号,然后是值:

"name":"Runoob"
JSON 对象
JSON 对象保存在大括号内。

就像在 JavaScript 中, 对象可以保存多个 键/值 对:

{"name":"Runoob", "url":"www.runoob.com"}
JSON 数组
 JSON 数组保存在中括号内。

就像在 JavaScript 中, 数组可以包含对象:

"sites":[     {"name":"Runoob", "url":"www.runoob.com"},      {"name":"Google", "url":"www.google.com"},     {"name":"Taobao", "url":"www.taobao.com"} ]

在以上实例中,对象 "sites" 是一个数组,包含了三个对象。

每个对象为站点的信息(网站名和网站地址)。
JSON 字符串转换为 JavaScript 对象
通常我们从服务器中读取 JSON 数据,并在网页中显示数据。

简单起见,我们网页中直接设置 JSON 字符串 (你还可以阅读我们的 [JSON 教程](https://www.runoob.com/json/json-tutorial.html)):

首先,创建 JavaScript 字符串,字符串为 JSON 格式的数据:

var text = '{ "sites" : [' + '{ "name":"Runoob" , "url":"www.runoob.com" },' + '{ "name":"Google" , "url":"www.google.com" },' + '{ "name":"Taobao" , "url":"www.taobao.com" } ]}';

然后,使用 JavaScript 内置函数 JSON.parse() 将字符串转换为 JavaScript 对象:

var obj = JSON.parse(text);

最后,在你的页面中使用新的 JavaScript 对象:

  var text = '{ "sites" : [' +     '{ "name":"Runoob" , "url":"www.runoob.com" },' +     '{ "name":"Google" , "url":"www.google.com" },' +     '{ "name":"Taobao" , "url":"www.taobao.com" } ]}';      obj = JSON.parse(text); document.getElementById("demo").innerHTML = obj.sites[1].name + " " + obj.sites[1].url;

(三)相关函数

在这里插入图片描述

(四)关于JSON要注意的坑

我们使用JSON.parse() 解析json字符串时

注意:1.json字符是紧凑格式,不要有空格和换行,否则解析失败。 美化的格式,是我们自己来看嵌套的结构的。

 2.在JS里面 我们手写 json字符串,用单引号引起来 字符串里面的json 键值是字符串类型的 要用双引号引起来
例如:  var str='{"name":"runoob", "alexa":10000, "site":"www.runoob.com","data":100,"arr":[100,200],"obj":{"aa":"bb"}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值