JSON

2018-09-25  本文已影响0人  Cissy_fba3

JSON是一种轻量级的数据交换语言,用来传输由属性值或者序列性的值组成的数据对象。虽然JSON是JavaScript的一个子集(JSON 这门语言抄袭了 JS这门语言),但是JSON是独立于JS的另一种语言。

JSON 数据格式与语言无关,脱胎于 JavaScript,但目前很多编程语言都支持 JSON 格式数据的生成和解析。JSON 的官方 MIME 类型是 application/json,文件扩展名是 .json

JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包

JSON 和JS 区别:

  1. JSON没有抄袭undefined 和function(数据类型);
  2. JSON表示string必须双引号“;


    JSON与JavaScript的区别.png

解析与序列化(就是它的作用)
JSON对象有两个方法:stringify()和parse()
stringinfy():把JavaScript对象序列化为JSON字符串
parse():把JSON字符串解析为原生JavaScript值

var book={
  title:"Abc",
  authors:["Chen"],
  edition:3,
  year:2011
}
var jsontext=JSON.stringify(book)
//{ "title":"Abc", "authors":["Chen"] "edition“:3,”year“:2011}

var book2=JSON.parse(jsontext)

虽然book与book1具有相同属性,但是他们是两个独立的,没有任何关系的对象。

利用JSON的这两个属性可以实现JavaScript对象的深拷贝(以上代码就为一个深拷贝)

ps:
浅拷贝:仅仅是指向被复制的内存地址,如果原地址中对象被改变了,那么浅复制出来的对象也会相应改变。
深拷贝:在计算机中开辟了一块新的内存地址用于存放复制的对象。

上一篇 下一篇

猜你喜欢

热点阅读