定义:

  JSON是什么?JSON是JS的一种简单数据格式,JSON是JavaScript原生格式,它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号。

问题:

  JSON是什么?(JSON和JavaScrip对象有什么区别?)如何把JS对象转换位JSON字符串又如何把JSON字符串转换成JavaScript对象?

  答:JSON (JavaScript Object Notation) 一种简单的数据格式,比Xml更轻巧。JSON 是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API 或者工具包。JSON的规则很简单:对象是一个无序的“名称/值”对集合。一个对象以"{"(左括号)开始,“}”(右括号)结束。每个"名称"后跟一个":"(冒号);“名称/值”对之间使用","(逗号)分隔。

它是一种严格的JS对象的格式,JSON属性名称必须有双引号,如果值是字符串,也必须是双引号;

JSON只是一种数据格式;

  <script>

    var obj ={};//这只是JS对象

    var obj1={width:100,height:200}//JS对象

    var obj2={'width':100,'height':100}//JS对象

    var obj3={"width":100,"height":100,"name":"rose"}//JSON格式的JS对象

    var obj4='{"width":100,"height":200,"name":"rose"}';/*我们可以把这个称做:JSON格式的字符串 */

    var array=[

    {"width":100,"height":200,"name":"rose"},
    {"width":100,"height":200,"name":"rose"},
     {"width":100,"height":200,"name":"rose"},

    ] /*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */

    var arrayStr='['+
     '{"width":100,"height":200,"name":"rose"},'+
     '{"width":100,"height":200,"name":"rose"},'+
     '{"width":100,"height":200,"name":"rose"},'+
     ']' ;/* 这个叫稍复杂一点的JSON格式的字符串 */ 
  </script>
 
区别 JSON Javascript
含义 仅仅是一种数据格式 表示类的实例
传输 可以跨平台数据传输,速度快 不能传输
表现

1.简直对方式,键必须加双引号

2.值不能是方法函数,不能是undefined/NaN

1.键值对方式,键不加引号

2.值可以是函数、对象、字符串、数字、boolean 等

相互转换

Json转换Js对象

1.JSON.parse(JsonStr);(不兼容IE7)

2.eval("("+jsonStr+")");(兼容所有浏览器,但不安全,会执行json里面的表达式?)

js对象转换Json

JSON.stringify(jsObj);

其他 调用JSON官网的JS,实现parse和stringify在哥哥浏览器的兼容:

总而言之你可以理解为JSON是JS下的一种数据格式,他从属于JS,并且在处理JSON数据时可直接使用JS内置API

JSON 与 JS 对象的区别与对比的更多相关文章

  1. JSON与JS对象的区别

    <script> var obj2={};//这只是JS对象 var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */ var ...

  2. 理清JS数组、json、js对象的区别与联系

    最近在敲代码时,遇上了一个关于JS数组的问题,由此引发了关于对象和json的联想,曾经觉得很畅顺的知识点突然模糊了.于是,为了理清这些东西,有了如下这篇文章.觉得没问题的猿们可以当复习,而那些带着疑问 ...

  3. json转js对象方法,JS对象转JSON方法

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  4. JSON 与 JS 对象的关系

    很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚.简单来说: JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串. 如 var obj ...

  5. JavaScript:JSON 和 JS 对象

    区别 JSON(JavaScript Object Notation)仅仅是一种数据格式(或者叫数据形式).数据格式其实就是一种规范,按照这种规范来存诸和交换数据.就好像 XML 格式一样. 区别 J ...

  6. JSON与js对象序列化

    JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集.虽然是一个js的子集但是他与语 ...

  7. java:JQuery(声明,JQ和JS对象的区别,prop,attr,addClass,offset,trigger,dblclick和change事件,hide,show,toggle,slideUp,slideDown,slideToggle,三种选择器,标签的获取,三张图片的放大与缩小)

    1.JQuery: jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计 的宗旨是“ ...

  8. JSON和JS对象之间的互转

    1. jQuery插件支持的转换方式 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2. 浏览器支持的 ...

  9. JSON和JS对象之间的互转(转)

    文章出处:http://www.cnblogs.com/dyllove98/p/4235909.html 1. jQuery插件支持的转换方式 $.parseJSON( jsonstr ); //jQ ...

随机推荐

  1. 做个流量站-聚茶吧, 汇聚"茶"的地方

    犹豫了好久,终于下定决心,做一回个人站长了,虽然没啥经验,但毕竟也是IT科班出身了,准备用一年的事件摸索一下内容站和SEO,看看能否积累点经验,赚点小钱. 推酷-靠爬虫起家的内容站 做内容站,站长们都 ...

  2. ubuntu18.04新体验

    虽然ubuntu18.04LST版本早出来了,但自己原来的ubuntu16.04还可以用,就懒得折腾了. 但最近ubuntu崩了,就想尝尝鲜...结果发现还挺好用的,准确地说,ubuntu是越来越好用 ...

  3. vue变异方法

    push()  往数组最后面添加一个元素,成功返回当前数组的长度    pop()  删除数组的最后一个元素,成功返回删除元素的值    shift()  删除数组的第一个元素,成功返回删除元素的值u ...

  4. oracle11G 用户密码180天修改概要文件过程

    oracle11G 用户密码180天修改概要文件过程 原因 创建用户的时候不指定概要文件的默认的概要文件是default, 而默认的概要文件中的设置如下,注意斜体部分 PROFILE RESOURCE ...

  5. Javascript高级编程学习笔记(87)—— Canvas(4)绘制路径

    绘制路径 2D上下文支持许多在画布上绘制路径的方法 通过路径可以创造出复杂的形状和线条,要绘制路径首先必须调用beginPath()方法,表示开始绘制路径 然后再通过下列的方法绘制路径: arc(x, ...

  6. firefox中遇到的offsetX的问题

    项目中遇到一个问题,滚轮缩放或鼠标移动svg的时候,当鼠标放置在svg元素上时,firefox浏览器中的offsetX和offsetY是不准确的,导致缩放和移动会产生便宜,其实问题不是firefox计 ...

  7. [Swift]LeetCode234. 回文链表 | Palindrome Linked List

    Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...

  8. [Swift]LeetCode927. 三等分 | Three Equal Parts

    Given an array A of 0s and 1s, divide the array into 3 non-empty parts such that all of these parts ...

  9. ELK之filebeat、logstash多个topic配置

    启动多个进程收集日志.直接output到kafka,output到不同的topiccat filebeat.ymlfilebeat.prospectors:- input_type: log path ...

  10. 通信统计接口字段填充内容shell脚本

    现在通信行业上班,最麻烦的就是计算各个协议接口字段填充的内容是否正确.经历了小白似的一个个字段统计在到单个接口所有字段统计,然后到现在的多个接口一次统计.在大大节省了时间的同时,让自己有更充足的时间来 ...