JSON专题-基础知识

一、JSON理论

           Json的全称为 Java Script Object Notation(JavaScript对象表示方法),从名字就可以它的常用场景是在web项目中,是存储和交换文本信息的语法,和XML非常类似。由于其比XML更小、更快而且更容易解析,所以在一般情况下用JSON替代了XML。JSON虽然使用JavaScript语法描述数据对象,但是其仍然独立于平台和语言,JSON解析器和JSON库支持不同的语言编程,当前流行的动态编程语言(PHP /JSP /.NET)都支持JSON。
       
           JSON实例:
     {
       "taskID" : 12 ,            //数字
       "taskName" : "TN-012" ,     //字符串
       "isFinish" : true ,        //true or false
       "taskItem" : [
           {
             "itemName":"TN-012-001"
           }
,
           {
             "itemName":"TN-012-002"
           }

         ]
,                     //数组
          "taskSpendTime" : {     
          "hours":13
         }
,                     //对象
         "others" : null         //null
     }


二、JSON基本语法

          2.1 JSON值

             从上述的JSON实例中可以看出,JSON的值可以分为6种:
    • 数字 (整数和逻辑值)
    • 字符串 (在双引号中)
    • 逻辑值 (true or false)
    • 数组 (在方括号中)
    • 对象 (在花括号中)
    • null

          2.2 JSON对象

              JSON对象是包括在花括号中的,对象是以多个key/value形式构成的:
               {
         "name" : "wangweiwei" ,
         "address" : "Beijing"
      }
             
              这一点等价于JavaScript中的 name = "Wangweiwei"   address = "Beijing"。
         

           2.3 JSON数组

            JSON数组时包含在方括号中的,一个JSON数组可以包括多个JSON对象。

三、JSON在JavaScript中在应用


           在JavaScript中,常见的有三种:普通对象,JSON对象,JSON字符串。
         
            JSON字符串: var str = '{"task":"task1","taskNo":"001"}';        //注意有‘’,是字符串性质的

            JSON对象:     var obj = {"task":"task1","taskNo":"001"};         //符合JSON数据个数的JSON对象

            普通JS对象: function Task(String task,String taskNo){
                                         this.task = task;
                                         this.taskNo = taskNo;
                                }

                                var obj2 = new Task("task3","taskNo003");

        3.1 JSON字符串转换为JSON对象

             (1)  var obj = eval('('+str+')');
             (2)  var obj = str.parseJSON();
             (3)  var obj = JSON.parse(str);
       
             Note: 如果obj本来就是一个JSON的对象,那么经过eval经过多次转换之后仍然为JSON对象,但是使用parseJSON()函数转化之后就会有异常。

        3.2 JSON对象转换为JSON字符串

            (1) var str = obj.toJSONString();
            (2) var str = JSON.stringify(obj);
         
            普通对象转换成JSON字符串的方法相同。
  
             Note:在上述的几个方法中,eval函数是js自带的,其他的方法都来自于json.js包,在新版本的JSON API中,将全局函数JSON.parse()和JSON.stringify()都内嵌到JS的内建对象中了,分别为String.parseJSON() 和 Object.toJSONString(),如果找不到,则说明json包版本太低。

四、其他

          如果JSON字符串太多,防止出错,那么可以采用JSON校验工具进行检测。JSON校验网址: http://www.json.cn


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值