JS笔记 JSON
Posted 言人冰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS笔记 JSON相关的知识,希望对你有一定的参考价值。
什么是JSON?
- JSON(javascript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,使用特别广泛。
- 采用完全独立于编程语言的文本格式来存储和表示数据。
- 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
- 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
简而言之:JS中的对象只有JS自己认识,其他语言都不认识。JSON就是一种特殊的字符串,这个字符串可以被任意的语言识别。并且可以转换为任何语言中的对象
JSON的作用
在开发中主要用来数据的交互
语法及格式
JSON和JS对象的格式一样,
只不过JSON字符串中的属性名必须加双引号
eg:
var obj = '{"name": "QinJiang","age": 3,"sex": "男"}';
var arr = '[1,2,3,"hello",true]';
JSON分类
- 对象 { }
- 数组 [ ]
JSON中允许的值
- 字符串
- 数值
- 布尔值
- null
- 对象(不能是函数对象)
- 数组
常用操作
JSON 和 JavaScript 对象互转
要实现从JSON字符串转换为JavaScript 对象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}');
//结果是 {a: 'Hello', b: 'World'}
要实现从JavaScript 对象转换为JSON字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'});
//结果是 '{"a": "Hello", "b": "World"}'
IE7及以下 不支持JSON
eval( ) 函数可以执行一段字符串形式的 js 代码,并返回结果,如果执行的字符串中含有{},它会将其当成代码块,故需要在含{}字符串的首尾加个()
var str = "alert('hello')";
eval(str);
var str2 = '{"name": "QinJiang","age": 3,"sex": "男"}';
eval("("+str2+")");
eval() 功能过于强大,可以执行一个js代码字符串,但执行效率过低,在实际开发中尽量避免使用,且其存在安全隐患
若考虑兼容ie7及以下,可以引入外部的js文件
以上是关于JS笔记 JSON的主要内容,如果未能解决你的问题,请参考以下文章