• 学习JSON


      JSON:JavaScript  Object  Notation,轻量级的文本数据交换格式 。是存储和交换文本信息的语法。类似XML。但  JSON比XML更小、更快,更易解析。JSON使用JavaScript语法来描述数据对象,但JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言。非常多的动态(PHP,JSP, .NET)编程语言都支持JSON。JSON文本格式在语法创建上与创建JavaScript对象的代码相同。由于这种相似性,无需解析器,JavaScript程序能够适应内建的eval()函数,用JSON数据来生成原生的JavaScript对象。下面是一个JSON对象。

        {"sites",[{"name":"菜鸟教程","url":"www.runoob.com"},
                     {"name":"百度","url":"www.baidu.com"},
                     {"name":"微博","url":"www.weibo.com"}
                   ]}        
    

       JSON与XML相同之处

    • JSON是纯文本
    • JSON具有"自我描述性"(可读)
    • JSON具有层级结构
    • JSON可通过JavaScript进行解析
    • JSON数据可使用AJAX进行传输

      JSON与XML不同之处

    • 没有结束标签
    • 结构更短
    • 读写的速度更快
    • 能够使用内建的JavaScript  eval()方法进行解析
    • 使用数组
    • 不使用保留字

      对于AJAX应用程序来说,JSON比XML更快更易使用:

      使用XML:

    •   读取XML文档
    • 使用XML  DOM 来循环遍历文档
    • 读取值并存储在变量中

      使用JSON

    •   读取JSON字符串
    • 用eval()处理JSON字符串

    JSON语法规则

        JSON语法是JavaScript对象表示语法的子集。

    • 数据在名称/值对中
    • 数据由逗号分隔
    • 大括号保存对象
    • 中括号保存数组

      JSON值可以是:

    • 数字(整数或浮点数)
    • 字符串(在双引号中)
    • 逻辑值(true或false)
    • 数组(在中括号中),数组可包含多个对象,索引从0开始
    • 对象(在大括号中),可以包含多个名称/值对
    • null

      JSON文件的文件类型是".json",文本的MIME类型是"application/json"。

      JSON对象

        {"name":"菜鸟","alexa":10000,"site":null}
    

       JSON对象在大括号{}中书写,对象可以包含多个key/value(键/值)对。key必须是字符串,value可以是合法的JSON数据类型(字符串、数字、对象、数组、布尔值或null)。key和value使用冒号(:)分隔。每个key/value对使用逗号(,)分隔。创建JSON对象后就可以使用对象名+点号(.)来获取对象的值。也可以使用中括号[]来获取对象的值。

    var   jsonobj , x ;
    jsonobj = {"name":"菜鸟","alexa":10000,"site":null};
    x = jsonobj.name ; // x = jsonobj["name"] 也能获得相同的结果

       可以用for-in来循环对象的属性:

        
            var  jsonobj = {"name":"菜鸟","alexa":10000,"site":null};
        for( x  in  jsonobj ){
                     document.getElementById("demo").innerHTML += x +"<br>"  ;
           }    
          //循环对象属性时,使用中括号来访问属性的值
         
          for(  y  in  jsonobj  ){
                   document.getElementById("demo").innerHTML += jsonobj[y]  + "<br>"  ;
             } 
    

        JSON对象可以是另一个JSON对象的某个属性的值,这就是嵌套JSON。修改JSON对象的值使用点号来操作。删除JSON对象的属性可以使用delete关键字。

  • 相关阅读:
    js作用域链
    函数声明提升
    18年年终总结之谈谈焦虑这件事
    混合开发中ios兼容问题
    vue 缓存的keepalive页面刷新数据
    vue里监听安卓的物理返回键
    vue根据数组对象中某个唯一标识去重
    Sublime Text3 插件
    全面理解Javascript闭包和闭包的几种写法及用途
    javascript深入理解js闭包
  • 原文地址:https://www.cnblogs.com/sdlzspl/p/7469969.html
Copyright © 2020-2023  润新知