zoukankan      html  css  js  c++  java
  • js中 json 和 对象的区别

    什么是json ? json怎么用的(怎么定义)?

    JSON是js的一种数据格式而已;定义:{"键名1":"值1""键名2":"值2"};文字描述就是: 以“{”开始 ,以“}”结束 ,键值对 键名用双引引起来,键值 如果是string类型,那么用双引引起来,其他则不用双引引起来;

    看以下例子就可以知道JSON的定义了;使用方式同对象;

     1 <script>
     2 var obj2={};//这只是JS对象
     3 var obj3={100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */
     4 var obj4={'width':100,'height':200};/*这跟JSON就更不沾边了,只是JS的对象 */
     5 var obj5={"width":100,"height":200,"name":"rose"}; /*我们可以把这个称做:JSON格式的JavaScript对象 */
     6 var str1='{"width":100,"height":200,"name":"rose"}';/*我们可以把这个称做:JSON格式的字符串 */
     7 var a=[
     8  {"width":100,"height":200,"name":"rose"},
     9  {"width":100,"height":200,"name":"rose"},
    10  {"width":100,"height":200,"name":"rose"},
    11  ];
    12  /*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */
    13 var str2='['+
    14  '{"width":100,"height":200,"name":"rose"},'+
    15  '{"width":100,"height":200,"name":"rose"},'+
    16  '{"width":100,"height":200,"name":"rose"},'+
    17  ']' ;
    18  /* 这个叫稍复杂一点的JSON格式的字符串 */
    19 </script>

    那么什么是对象呢?

    简单来说,js对象就是 一种变量;一种引用类型变量object;他的定义方式有三种;具体可以查看https://www.cnblogs.com/lixiuming521125/p/10950695.html;其中一种定义方式是字面量定义;就是var obj3={100,height:200};这里的obj3和obj5差不多;

    JSON和JS对象区别对比表

    区别

    Json

    Javascript对象

    含义

    仅仅是一种数据格式

    表示类的实例

    传输

    可以跨平台数据传输,速度快

    不能传输

    表现

    1,键值对方式,键必须加引号

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

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

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

    相互转换

    Json字符串转化为json格式的对象:

    1,JSON.parse(jsonstring);
    (不兼容ie7)

    2,Jsobj=eval("("+jsonstring+")");

    (兼容所有浏览器,但不安全,会执行json里面的表达式?)

    Js对象转换为Json字符串

    JSON.stringify(jsobj);(不兼容ie7)

    其他

    调用json官网的js,实现parse 和 stringify 在各个浏览器的兼容:

    https://github.com/douglascrockford/JSON-js/blob/master/json2.js

    参考地址:https://www.jb51.net/article/107041.htm

     
     
  • 相关阅读:
    day 49
    day 48
    day 46
    IOC和DI到底是什么?
    堆排序算法
    快速排序算法
    java中try-catch-finally中的return语句
    归并排序算法
    选择排序算法
    冒泡排序算法
  • 原文地址:https://www.cnblogs.com/lixiuming521125/p/13581231.html
Copyright © 2011-2022 走看看