在新项目中,除了一些框架所依赖的配置文件使用XML外,基本没有使用XML。JSON基本替代了原来XML在程序内的位置。在以前,我们不愿意使用一种私有的格式,于是选择了XML。选择XML的理由,可能是大家都用它,所以我们也用它。

XML是一种很好的技术,但是目前的情况来看,XML被滥用了,SOAP是XML被滥用的一种典型,程序内部的表示使用XML也是滥用的一种典型。看到的一种情况,一个对象toString使用XML格式输出,导致日志文件十分罗嗦,调试时,在watch窗口中看到一大堆<tag>。

在新项目中,认真考虑这种情况,找到了另外一种选择,那就是JSON。选择JSON的理由很充分:
1、JSON的解释性能要比XML要好,要简洁紧凑。
2、可读性要比XML好。JSON本身就是JavaScript的语法,和程序员的思维,而非文档编写的思维。
3、JavaScript原生支持,客户端浏览器不需要为此使用额外的解释器,在web环境中使用特别合适。

在java中使用json,目前需要注意一些情况:
1、目前开源的JSON-LIB代码质量不好,最好是在此基础之上修改一个版本,或者自己重新开发一个版本。
2、使用new Date的方式替代JSON-LIB中的{year:2007, month:12, ....}之类的方式
3、JSON-LIB中,object的propertyName在输出的时候,都带上"",例如{"name": "温少"}, 其中name是的双引号是不必要的,在输出时应该判断,不需要的就是就不加上"",减少网络流量。
4、JSON的解释器中,应该支持简单的表达式,例如new Date()、new Date(2939234723)之类的,这使得JSON的表达能力会更强一些。
5、JSON应该分两种,一种只支持简单格式,类似开源的JSON-LIB,一种是通过JavaScript解释器来实现的。后者在程序中传输数据时,能够得到更强大的表达能力,但是也会导致安全问题,需要慎重使用。

使用JSON替代XML相关推荐

  1. 快来看看Google出品的Protocol Buffer,别仅仅会用Json和XML了

    前言 习惯用 Json.XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 事实上 是 Google出品的一种轻量 & 高效的结构化数据 ...

  2. 数据格式之战:JSON vs XML

    在比较JSON和XML之前,我们先来上一堂关于数据格式的简要历史(更准确的说,是关于XML的始祖): 早在1970年,IBM开发了一种叫Generalized Markup Language的标记语言 ...

  3. JSON与XML优缺点对比分析

    1. 定义介绍 1.1 XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种 ...

  4. 在.NET2.0中解析Json和Xml

    在.NET2.0中解析Json和Xml 在.NET解析json有很多方法,这里介绍最简单也用的最多的一种. 一.添加引用 解析Json,先下载开源控件 Newtonsoft.Json.dll 下载地址 ...

  5. ajax请求json和xml数据及对json和xml格式数据的解析

    ajax请求json和xml数据及对json和xml格式数据的解析 一.ajax请求json数据并解析 ajax的写法: json数据解析: 请求json经常出现的跨域报错: 二.ajax请求xml数 ...

  6. Java JSON、XML文件/字符串与Bean对象互转解析

    前言      在做web或者其他项目中,JSON与XML格式的数据是大家经常会碰见的2种.在与各种平台做数据对接的时候,JSON与XML格式也是基本的数据传递格式,本文主要简单的介绍JSON/XML ...

  7. SpringBoot使用教程【1】Restful API设计 返回json,xml格式...

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qingfeng812/article/details/74738885 效果展示: 浏览器截图 ht ...

  8. json execel xml 互转

    import xlwt import json import xlrd import xlrd import json import os from xml_and_json import * fro ...

  9. jackson (json、xml的序列化与反序列化)

    jackson用于java对象到json的序列化与反序列化.还支持xml格式. jackson用于实现json与java对象的序列与反序列化.web service要实现跨机器传送对象那么就需要有一种 ...

最新文章

  1. 几种网站后门排查 不全面
  2. 海南工会云会员认证_好消息!海南农民工春节返乡最高有300元补贴!申请条件和流程→...
  3. python模块之re正则表达式
  4. 使用Microsoft Unity进行日志记录
  5. awk grep sed cut学习
  6. linux 锐捷客户端登录密码,Linux使用经验_使用锐捷客户端登录校园网
  7. python解释器需要另外安装吗_Python解释器安装
  8. 如何查看linux pagesize的大小
  9. 欧拉筛素数的应用-漂亮数
  10. 夜神模拟器怎么安装使用教程!
  11. 国内外著名黑客杂志 《转》
  12. h3cmsr830series说明书_H3C MSR830路由器怎么设置?
  13. Android app 启动优化
  14. 开发常用的google插件
  15. 验证手机号码是否正确
  16. 动态代理ip的测试步骤有哪些?
  17. 电信ZNHG60光猫信息虚标
  18. 拼多多Temu如何批量养国外买家账号进行拉新?
  19. BeanDefinition BeanFactory Bean的关系
  20. poi生成excel整理(设置边框/字体/颜色/加粗/居中/)

热门文章

  1. AndoridSQLite数据库开发基础教程(5)
  2. 注册表数据提取工具RegRipper
  3. Xamarin中打开别人项目找不到android.jar文件
  4. mfc和mysql连接 dao_用MFC DAO 在VC++6.0进行与数据库的连接,对数据库进行定义和操作,最后断开数据库的连接等各种操作。...
  5. 假赋值java_Java十四天零基础入门-Java赋值运算符
  6. android应用课程设计报告,基于Android的多媒体播放器课程设计报告.doc
  7. eeglab中文教程系列(2)-绘制脑电头皮图
  8. 《Eve: Valkyrie Warzone》发布,非VR玩家也能公平开战
  9. 老牌医药收割AI红利:先投个15亿美元抢中国人才
  10. 仅需2张图,AI便可生成完整运动过程