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的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Reactjs 中添加丰富的代码片段?

jade 渲染js片段

json 个人的vscode的代码片段

使用JavaScript在页面上显示JSON

js-权威指南学习笔记14

实用代码片段将json数据绑定到html元素 (转)