• 揭开 JSON 的神秘面纱 ------【XML和JSON的异同】


    JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似 XML, 但它比 XML 更小、更快,更易解析。
     
    XML
    XML (Extensible Markup Language) 指可扩展标记语言,它被设计用来传输和存储数据。
    要表示一个object (指name-value pair的集合),最初可能会使用element作为object,每个key-value pair 用 attribute 表示
     
    <student>
        <name>John</name>
        <age>10</age>
        <address>
            <country>China</country>
            <province>Guang Dong</province>
            <city>shanghai</city>
            <district>songbin</district>
        </address>
    </student>
    

    JSON

    JavaScript (JavaScript Object Notation) 对象表示法。 JSON 是存储和交换文本信息的语法。类似 XML, 但它比 XML 更小、更快,更易解析。

    {
        "student": {
          "name": "John",
          "age": "10",
          "address": {
            "country": "China",
            "province": "Guang Dong",
            "city": "shanghai",
            "district": "songbin"
          }
        }
    }
     
    其实,在AJAX诞生之初,它就被称为 XMLHTTP,直到2005年后,才被正式命名为AJAX。但是,随着时间的推移,AJAX的弊端也渐渐显露出来:
     
    因为XML实现是基于DOM树实现的,而DOM在各种浏览器中的实现细节不尽相同,所以XML的跨浏览器兼容性并不好,
    所以急需一种新的数据负载格式集成到HTML页面中以满足Ajax的要求!

    如何才能将数据整合到HTML中又解决浏览器兼容性问题呢?答案就是:利用所有主流浏览器中的一种通用组件——JavaScript引擎。
    这样只要创造一种JavaScript引擎能识别的数据格式就可以啦!
     
     
    对比XML和JSON:
    1. XML是element、attribute和element content。
       JSON是object、array、string、number、boolean(true/false)和null。
    
    2. XML需要选择怎么处理element content的换行,
       JSON string则不须作 这个选择。
    
    3. XML只有文字,没有预设的数字格式,
       JSON则有明确的number格式,这样在locale上也安全。
    
    4. XML在编写时,第一行需要定义XML的版本,
       JSON不存在版本问题,格式永远不变!
    
    5. XML映射数组没大问题,就是数组元素tag比较重复冗余。
       JSON 比较易读。JSON的true/false/null也能容易统一至一般编程语言的对应语义。

     

    XML和JSON转换地址: http://www.bejson.com/xml2json/

     
     
     


     
    【注意】:
    1. JSON整体 需要用引号引起来是个字符串
    2. JSON键名 需要用引号引起来
    因为JS中存在许多的关键字和保留关键字,只要我们在所有的键名上加上双引号,JS引擎会将其识别为字符串,这样也就避免与JS中关键字冲突!
     
    var jsonobj = `{
      "student": {
        "name": "John",
        "age": "10",
        "address": {
          "country": "China",
          "province": "Guang Dong",
          "city": "shanghai",
          "district": "songbin"
        }
      }
    }`
    
    var result = JSON.parse(jsonobj)
    document.write(result) // 此时网页中会输出: [object Object]
    

    【注意】:

    当我们要把数据展示到UI界面上时,必须先将 JS 对象转化为 JSON 对象(字符串),这个过程又被称为“序列化”

    序列化是指把对象转换为字节序列的过程,而反序列化是指把字节序列恢复为对象的过程
  • 相关阅读:
    jq 换图片路径
    sql 把一列的数据按逗号分隔转换成多行
    sql 数据库查看主外键关联
    sql 表连接 join
    sql 查看 锁定的表 或者 未提交 的事务
    WMI技术介绍和应用——查询硬件信息
    System.Web.HttpContext.Current.Server.MapPath("~/upload/SH") 未将对象引用设置为实例对象
    sql server output用法说明
    merge into 的用法
    JAVA Stop The World 第八节
  • 原文地址:https://www.cnblogs.com/edwardwzw/p/12054392.html
Copyright © 2020-2023  润新知