JSON 和 XML

一、JSON

JSON的全称是 JavaScript Object Notation (JS对象标记),是一种轻量级的数据交换格式。经常用在前台和后端做信息交互。

其采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。json只是字符串!

语法

键值对:{"键":"值"}


  • 对象表示为键值对
  • 多个数据之间用逗号分隔,
  • 花括号保存对象{}
  • 方括号保存数组[]

2、XML

可扩展标记语言

3、JSON和XML的比较

举一个同样的例子,看看在不同的方式下面,实现方式有何不同。
同样的例子之XML
<?xml version="1.0" encoding="utf-8"?>
<country>
    <name>中国</name>
    <province>
        <name>黑龙江</name>
        <citys>
            <city>哈尔滨</city>
            <city>大庆</city>
        </citys>
    </province>
    <province>
        <name>广东</name>
        <citys>
            <city>广州</city>
            <city>深圳</city>
            <city>珠海</city>
        </citys>
    </province>
    <province>
        <name>台湾</name>
        <citys>
            <city>台北</city>
            <city>高雄</city>
        </citys>
    </province>
    <province>
        <name>新疆</name>
        <citys>
            <city>乌鲁木齐</city>
        </citys>
    </province>
</country>
同样的例子之JSON
{
    "name": "中国",
    "province": [
        {
            "name": "黑龙江",
            "citys": {
                "city": [
                    "哈尔滨",
                    "大庆"
                ]
            }
        },
        {
            "name": "广东",
            "citys": {
                "city": [
                    "广州",
                    "深圳",
                    "珠海"
                ]
            }
        },
        {
            "name": "台湾",
            "citys": {
                "city": [
                    "台北",
                    "高雄"
                ]
            }
        },
        {
            "name": "新疆",
            "citys": {
                "city": [
                    "乌鲁木齐"
                ]
            }
        }
    ]
}
由上可见,JSON的表达方式比xml简洁很多。最重要的是,JSON没有了专门的DOM解析。JSON中的数据只要符合JavaScript的声明规范,JavaScrip就会自动解析。Ajax中使用JSON的基本方法是,前台载入后台声明的Javascript对象的字符串。然后,用eval()方法来将它转为实际的对象,最后通过 DHTML更新页面信息。
json的优点
1、JSON不仅减少了解析XML解析带来的性能问题和兼容性问题;而且对于Javascript来说非常容易使用,json可以很方便的通过遍历数组,以及访问对象属性来获取数据。
2、其可读性也不错,基本具备了结构化数据的性质。
3、JSON的另外一个优势是"跨域性",大部分的编程语言都支持json,从而可以在不同平台间进行数据交换。
JSON 和 XML 优缺点的比较
1.       在可读性方面,JSON和XML的可读性不相上下,一边是建议的语法,一边是规范的标签形式
2.       在可扩展性方面,XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
3.       在编码难度方面,XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
4.       在解码难度方面,XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。
5.       在流行度方面,XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(AsynchronousJavascript and JSON)了。
6.       JSON和XML同样拥有丰富的解析手段。
7.       JSON相对于XML来讲,数据的体积小。
8.       JSON与JavaScript的交互更加方便。
9.       JSON对数据的描述性比XML较差。
10.     JSON的速度要远远快于XML。
 JSONXML
可读性建议的语法规范的标签
   
   
   
   
   
   
   
   
   

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值