美文网首页Front_End饥人谷技术博客Web前端之路
浅谈JSON,JSON字面量,JSON对象之间的区别

浅谈JSON,JSON字面量,JSON对象之间的区别

作者: 没梦想的咸鱼丶 | 来源:发表于2016-11-19 19:41 被阅读673次

** 本文章著作权归没梦想的咸鱼丶所有,转载须说明来源**

1.首先明确JSON是什么?

  • json是一种数据交换格式,是纯文本的字符串,是作为一种替代XML数据格式角色出现,json简单易读方便转换跨平台,有很多json api提供了json字符串与对象互转的方法,如下面JavaScript中json字符串互转的方法。
JSON.stringify()//将对象转化为json字符串
JSON.parse()//将json字符串转化了对象

2.JSON和JavaScript的关系是怎样的呢 ?

  • json开始是JavaScript语法中的一个子集,后来人们觉得这种形式的用来作为数据交换格式不错,就单独将它拿了出来,这也是造成大家对JSON,JSON字面量,JSON对象之间混淆不清的缘由了。

3.JSON字面量又是什么呢

  • 一般的我们创建一个对象的方法
var obj1=new Object();
var obj2={}//字面量
  • 上面的第二种就是JavaScript对象字面量的写法。那那json字面量是什么呢,那我们在看看下面的一段代码
var person={
      "name":"xianyu",
      "age":24,
      "love":"Online Game"
}
  • 从上我们可以看出这就是用字面量表示一个对象,而这个格式就是json格式的, 因为本身json就是JavaScript语法集的一种,所以json字面量就是用json格式的JavaScript对象字面量。

  • json放到JavaScript中执行是合法代码,是JavaScript对象字面量,但是JavaScript对象字面量不一定是json

var person={
      "name":"xianyu",
      "age":24,
      "love":"Online Game"
}
//和
var person={
      name:'xianyu',
      age:24,
      love:'Online Game',
      skill:function(){
            alert('basketball')
      }
}
  • json必须是符合以下
    • 1.键一定要用双引号,值如果是字符串也要用双引号包括
    • 2.数据只包括,数字,布尔,数组,null,对象,字符串
  • 而JavaScript对象字面量属性不用引号也可以,而且值可以是任何类型,函数,undefined或者是正则都是可以的 。json只是JavaScript语法集中的一种,还有很多其他部分的东西都是不符合json的规范。

4.那JSON对象什么呢

  • JSON对象就是JavaScript中的一个对象,里面有一些属性和方法供我们使用,如下面2个方法
JSON.stringify()//将对象转化为json字符串
JSON.parse()//将json字符串转化了对象
//利用这2个方法也用可以做一个对象深拷贝
  • 额外扩展深拷贝
var obj={name:'xianyu',age:24}
var str=JSON.stringify(obj)//得到json字符串
str=JSON.parse(str)//得到Object {name: "xianyu", age: 24}
str==obj//得到false
var obj1 = obj //直接赋值得到的只是一个指针,两者指向东西都是一样的
obj1==obj//得到true

相关文章

  • 浅谈JSON,JSON字面量,JSON对象之间的区别

    ** 本文章著作权归没梦想的咸鱼丶所有,转载须说明来源** 1.首先明确JSON是什么? json是一种数据交换格...

  • js程序高级设计

    1.JSON对象 json对象与js对象字面量的区别没有变量声明,在json中没有变量的概念没有末尾的分号json...

  • 字符串与json

    什么是 json?什么是 json 对象?什么是 json 对象字面量?什么是 JSON内置对象? JSON格式(...

  • JS面向对象

    1、对象和面向对象 1.1、对象字面量个JSON 对象字面量定义方法和json很像,只有一点不同,json的key...

  • JavaScript本地存储

    一、json对象(1) 认识json对象JSON对象:存储复杂数据的字面量对象① 基本语法: ② 查询数据 ③ 修...

  • 前端小白之面向对象基础1

    1.字面量对象 2.json对象 仅仅用于数据交换传递 遍历json 字面量对象 使用for in遍历出对象里的值...

  • 理解 JavaScript(ECMAScript 6)—— 扩展

    一、对象字面量 对象字面量(object literal)是 JavaScript 中最常见的模式之一,JSON ...

  • json笔记

    1.json 对象和 json 字符串的区别 json对象:var str2 = { " ": " ", " ":...

  • package.json参数详解

    package.json必须是纯JSON的,而不仅仅是一个JavaScript对象字面量。 name和versio...

  • js_17 json

    1.1对象字面量个JSONvar obj = {aaa: 111}; var json = {“aaa...

网友评论

    本文标题:浅谈JSON,JSON字面量,JSON对象之间的区别

    本文链接:https://www.haomeiwen.com/subject/xdlepttx.html