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

     
     
  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/lixiuming521125/p/13581231.html
Copyright © 2011-2022 走看看