• JSON 与 JS 对象的区别与对比


    定义:

      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={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

  • 相关阅读:
    [转]三维成像原理
    loader如果你提前设width或height,loadComplete后显示不出来
    Flash调用Alchemy编译的代码时出现Error #1506的解决
    通过 IP 区分不同国家的用户
    Linux的进程组和会话
    Linux下安装 JDK(转备忘)
    程序中,调用Bison和Flex结合的小例子(语法分析中处理数据)
    从自己的程序中使用lex的一个小例子
    yum 删除软件要注意一点
    Linux下top命令
  • 原文地址:https://www.cnblogs.com/mflr/p/7774279.html
Copyright © 2020-2023  润新知