博客
关于我
谈谈JSON与XML的优缺点
阅读量:322 次
发布时间:2019-03-04

本文共 1225 字,大约阅读时间需要 4 分钟。

JSON已成web数据传输的首要选择,今天就来谈谈XML与JSON,包括两者的相同点与共同点,以及优缺点。

  • JSON:javascript对象标记方法,一种轻量级的数据交换格式,是JavaScript的子集,由于是一种语言层面的规范,因此得以更好地在客户端解析使用。
    • 数据格式:数字、布尔、字符串(双引号)、对象、数组、null,没有undefined
    • 良好的API支持(JSON.stringify,JSON.parse),可以在客户端实现javascript对象 与 JSON字符串之间的相互转化
    • stringify(jsonObj,function(){ //对序列化做过滤限制 },space);space用于对序列号结果做缩进结构化,增强易读性
    • parse(jsonString,function(){ //对解析做过滤限制 })
    • JSON的序列化和解析目标如果是对象或数组,需要注意的是会首先解析这个主题(key值为""),每遇到一个对象成员,都会递归式地进行序列化或解析,首先处理好对象本身,才能过滤对象成员。因此,要做限制的时候需要注意。
    • //错误写法var jsonObj = { name:"hezebing",sex:"male" }JSON.stringify(jsonObj,function(key,value){    if( key === "name" ){        return value    }})//返回 : undefined////正确写法var jsonObj = { name:"hezebing",sex:"male" }JSON.stringify(jsonObj,function(key,value){    if(key === ""){        //对象本身        return value    }else if( key === "name" ){        return value    }})//返回 : "{"name":"hezebing"}"

       

  • XML:可扩展标记语言.优点在于描述数据凸显其结构性,亦即其UI性,在良好的UI层面增加新元素非常简单而清晰。
    • 描述一个实体(person),没有限定属性或者子元素来定义实体的属性(身高,年龄,性别等等),带来了很多的灵活性,也造成了不同程序之间的差异习惯,可扩展意味着"多形态",某种层面的不统一。
    • 当服务端发送XML文档至客户端后,需要客户端做解析为DOM树再做节点遍历来获取数据。
    
        
         
        
         
    
  • 总结:

json轻便、解析简单,对客户端更加友好。

XML更加笨重,解析为DOM树并遍历节点来取数据,优点是结构清晰,扩展性好。

转载地址:http://wynh.baihongyu.com/

你可能感兴趣的文章
调试vs2019代码的流程
查看>>
游戏外挂基础-概述
查看>>
脱壳与加壳-加壳-6-代码实现加密导入表
查看>>
Typora配置PicGo时,提示Failed to fetch
查看>>
Windows 7 安装 .NET 5 / .NET Core 3.1 环境的方法和依赖文件
查看>>
ASP.NET Core 使用 URL Rewrite 中间件实现 HTTP 重定向到 HTTPS
查看>>
ASP.NET CORE MVC 实现减号分隔(Kebab case)样式的 URL
查看>>
SQL优化 MySQL版 -分析explain SQL执行计划与笛卡尔积
查看>>
python的map函数
查看>>
包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解
查看>>
bcolz的新操作
查看>>
readlink 获取进程的绝对路径
查看>>
ld.so和ld-linux.so* :动态链接器/加载器(转)
查看>>
python open函数关于w+ r+ 读写操作的理解(转)
查看>>
Linux的s、t、i、a权限(转)
查看>>
c++内存相关函数
查看>>
zmq的send
查看>>
C++子类的构造函数后面加:冒号的作用(转)
查看>>
C++中的delete加深认识
查看>>
svn解决方案
查看>>