JSON是什么?

JSON格式(JavaScript Object Notation 的缩写)是一种用于数据交换文本格式。就是符合某种规范的文本格式,经常用于与服务器做数据交换,比传统的XML更简洁。

那JSON的格式是怎么样的呢?

JSON格式和JavaScript中对象字面量的写法看起来类似,但是却严格许多,并且遵循以下规则:

  • 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。

  • 原始类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaNInfinity-Infinityundefined)。

  • 字符串必须使用双引号表示,不能使用单引号。

  • 对象的键名必须放在双引号里面。

  • 数组或对象最后一个成员的后面,不能加逗号。

下面这些都是合法的JSON格式

["one", "two", "three"]{ "one": 1, "two": 2, "three": 3 }{"names": ["张三", "李四"] }[ { "name": "张三"}, {"name": "李四"} ]

以下是不符合规范的JSON

{ name: "张三", 'age': 32 }  // 属性名必须使用双引号

[32, 64, 128, 0xFFF] // 不能使用十六进制值

{ "name": "张三", "age": undefined } // 不能使用 undefined

{ "name": "张三","birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'),"getName": function () {return this.name;}
} // 属性值不能使用函数和日期对象

作为JavaScript中的原生对象,JSON有哪些方法呢?

1)JSON.parse

JSON.parse方法将符合JSON格式的字符串转换成JSON格式

var str = '{"name":"庄小威","age":18}';
JSON.parse(str)  //{name: "庄小威", age: 18}

这个方法需要注意的是,如果传入的字符串不符合JSON格式那是会报错的。

2)JSON.stringify

这个方法可以将一个值转为JSON格式的字符串。该字符串符合 JSON 格式,并且可以被JSON.parse方法还原。

var obj = {name:"庄小威",age:18};
JSON.stringify(obj) //"{"name":"庄小威","age":18}"

学到了这两种方法,对引用类型的数据就可以做个深拷贝了

var obj = {name:"庄小威",age:18
}
var obj2 = JSON.parse(JSON.stringify(obj))obj2.sex = "男"console.log(obj2) //{name: "庄小威", age: 18, sex: "男"}

转载于:https://www.cnblogs.com/ianyanyzx/p/9599711.html

JavaScript中的JSON相关推荐

  1. 在JavaScript中解析JSON? [重复]

    本文翻译自:Parse JSON in JavaScript? [duplicate] This question already has answers here : 这个问题已经在这里有了答案 : ...

  2. Json学习总结(1)——Java和JavaScript中使用Json方法大全

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript ...

  3. 在 JavaScript 中创建 JSON 对象

    <html> <body> <h2>在 JavaScript 中创建 JSON 对象</h2><p> Name: <span id=& ...

  4. jsonp请求html页面,JavaScript中的JSON和JSONP

    简单地使用json并不能支持跨域资源请求,为了解决这个问题,需要采用jsonp数据交互协议.众所周知,js文件的调用不受跨域与否的限制,因此如果想通过纯web端跨域访问数据,只能在远程服务器上设法将j ...

  5. javascript 中使用JSON

    因为JSON 是 javascript 的一个子集,所以,在javascript 中使用JSON是非常简单的. js 代码 var myJSONObject = {"bindings&quo ...

  6. JSON—JavaScript中的JSON

    JSON的数据格式 JavaScript中的JSON 1.JavaScript与JSON JSON是一种语法,用来序列化对象.数组.数值.字符串.布尔值 null.他基于JavaScript语法,但与 ...

  7. JS/JavaScript中解析JSON --- JSON.parse()、JSON.stringify()以及$.parseJSON()使用详解

    JS/JavaScript中解析JSON --- JSON.parse().JSON.stringify()以及$.parseJSON()使用详解 现在JSON格式在web开发中非常重要,特别是在使用 ...

  8. 服务器json文件怎么创建对象,JavaScript中对JSON对象的基本操作示例

    JSON对象 1.对象的属性:对象的属性是有键值对组成的,其中key为一个字符串,value可以为任何的Javascript对象. //使用[]设置和获取对象的属性 var obj = new Obj ...

  9. 在JavaScript中使用json.js:访问JSON编码的某个值

    演示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

最新文章

  1. 心得丨对于机器学习,到底该选择哪种编程语言
  2. java判断时间为上午,中午,下午,晚上,凌晨
  3. 树莓派发布全新计算模块CM3,性能提升10倍
  4. 使用PowerDesigner设计物理模型并运行脚本检查模型图解
  5. 重学 Java 之 5种字符流读取方法
  6. [置顶] 有关ListIterator接口的add与remove方法探究
  7. 游戏剧情哪家强?日式RPG与欧美沙盒的优劣
  8. 【转】关于OnPaint的工作机制
  9. hibernate中查询方式(一):
  10. 电力猫服务器无响应,电力猫怕什么?TP-Link电力线适配器实测
  11. 免费从Springer Link数据库中下载论文
  12. UE4编辑器修改界面显示语言
  13. 如何清理占用计算机内存,win7系统清理电脑内存的操作方法
  14. 数分练习-淘宝用户行为
  15. php transfer-encoding: chunked,“Transfer-Encoding: chunked” header in PHP
  16. Java十进制转三进制
  17. 程序员写代码要写注释吗?写你就输了
  18. win server 2003 事件查看器中的事件ID
  19. 镀铬亮条怎么修复_汽车镀铬亮条生锈腐蚀怎么办如何修复
  20. 【转】程序设计语言中的 一等公民,二等公民,三等公民

热门文章

  1. 修改数组的值和多维数组排序
  2. ***检测与防护(IDS/IPS)
  3. windows防火墙支持FTP服务的设置方法
  4. httpclient通过POST来上传文件,而不是通过流的形式,并在服务端进行解析(通过htt......
  5. FPGA中实现对数运算
  6. C++获取当前时间和计算程序运行时间的方法
  7. 图解深度强化学习(简单的)
  8. 语音合成的语音相位图
  9. opencv-python视频处理之录制视频
  10. [译] 2019 年的 9 大设计趋势