JS中JSON的基本使用
2023-09-27 14:22:48 时间
一. JSON 是什么?
- JSON,全称是 JavaScript Object Notation,即 JavaScript对象标记法。
- JSON是一种轻量级(Light-Meight)、基于文本的(Text-Based)、可读的(Human-Readable)格式。
- JSON 的名称中虽然带有JavaScript,但这是指其语法规则是参考JavaScript对象的,而不是指只能用于JavaScript 语言。
- JSON无论对于人,还是对于机器来说,都是十分便于阅读和书写的,而且相比 XML(另一种常见的数据交换格式),文件更小,因此迅速成为网络上十分流行的交换格式。
- 近年来JavaScript已经成为浏览器上事实上的标准语言,JavaScript 的风靡,与JSON 的流行也有密切的关系。
- 因为JSON本身就是参考JavaScript 对象的规则定义的,其语法与JavaScript定义对象的语法几乎完全相同。
- JSON格式的创始人声称此格式永远不升级,这就表示这种格式具有长时间的稳定性,10 年前写的文件,10年后也能用,没有任何兼容性问题。
二. JSON 的语法规则是怎样的?
JSON 的语法规则十分简单,可称得上“优雅完美”,总结起来有:
- 数组(Array)用方括号(“[]”)表示。
- 对象(0bject)用大括号(“{}”)表示。
- 名称/值对(name/value)组合成数组和对象。
- 名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
- 并列的数据之间用逗号(“,”)分隔
{
"name": "xdr630",
"favorite": "programming"
}
三. JSON 和XML
JSON常被拿来与XML做比较,因为JSON 的诞生本来就多多少少要有取代XNL的意思。相比 XML,JSON的优势如下:
- 没有结束标签,长度更短,读写更快
- 能够直接被JavaScript解释器解析
- 可以使用数组
两者比较
- JSON:
{
"name":"兮动人",
"age":22,
"fruits":["apple","pear","grape"]
}
- XML:
<root>
<name>兮动人</name>
<age>22</age>
<fruits>apple</fruits>
<fruits>pear</fruits>
<fruits>grape</fruits>
</root>
四、JSON的解析和生成(JSON 和 JS 对象互转)
在JavaScript中,有两个方法与此相关: JSON.parse
和 JSON.stringify
。
JSON 和 JS 对象互转
- 要实现从JSON字符串转换为JS对象,使用
JSON.parse()
方法:
<script>
var str = '{"name": "兮动人","age":22}';
var obj = JSON.parse(str);
console.log(obj);
</script>
2.要实现从JS对象转换为JSON字符串,使用 JSON.stringify()
方法:
<script>
var str = '{"name": "兮动人","age":22}';
var obj = JSON.parse(str);
console.log(obj);
var jsonstr = JSON.stringify(obj);
console.log(jsonstr);
</script>
五、JSON在线解析工具
相关文章
- js 实现动态key value(JSON字符串注意事项:key和value都要用双引号,官网指定用双引号)
- js 数组、对象转json 以及json转 数组、对象
- js与webview 常用交互代码
- 用js比较两个日期的先后顺序
- js递归根据父级id获取所有的子节点
- React 借助pubsub-js进行兄弟组件的传递值
- js怎样生成json的数据
- 接口规范,js处理json,php返回给ajax的数据格式
- Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据
- 后台获得集合,变成json字符串,放到EL表达式,js进行获取遍历
- JSON转JS对象,JS对象转JSON
- JS 中函数名后面加与不加括号的区别
- JS的Form表单转JSON格式
- js生成[n,m]的随机数,js如何生成随机数,javascript随机数Math.random()
- Json——js和C#对Json的操作
- js:腾讯云播放器无法自动播放的问题
- JavaScript(JS) date.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
- MVVM(Knockout.js)的新尝试:多个Page,一个ViewModel
- js - SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data jquery-1.9.1.min.js:3:4315
- 2011-04-13 15:54 利用事件触发实现ActiveX调用js函数
- Js函数function基础理解
- 用jquery.pager.js实现分页
- Node.js核心入门(一)