原文:Tim Bray on JSON and XML

Tim有一篇有趣的帖子,这篇帖子比较了JSON和XML。他的比较让我对其中的一些细节产生了兴趣。

就这篇帖子,我有一些具体的提问:

1、我没有找到为什么JSON比XML拥有不同的流特性的原因。我所编写的每个JSON分析器都在底层有一层用于流的输入输出,并且就像大多数时兴XML栈一样,拥有一个针对上一层的延迟缓存机制(和类型映射)。那为什么说XML天生就更适于流处理?

2、正如在注释中,Joe Gregorio针对Tim的贴子的阐述,我也偏好JSON只允许基于UTF格式编码的简化。

3、Tim阐述道当遇到处理数据顺序的情况时使用XML,但是JSON拥有一个完美的顺序排列器(数组),可以被用于很多情况。

4、我也没有购买JSON,这不是什么题外话。没有什么东西可以阻止JSON价值的追捧者忽略没有意义的字段标签。当然,这需要通过使用惯例来避免名称空间冲突,但是我不信在同XML的名称名称生存了几乎10年之后,这种做法还是一件糟糕的事情。

5、至于在文本处理上,(相对于XML)我喜欢JSON。你可以巧妙地区分数字和看起来像数字的文本,并且更加重要的是,你可以在无需恢复到base64编码的情况下,表示含有控制符的字符串。当然,我还是没有拉下有意义的空白和无意义的空白之间的不明确性。对于JSON来说,那很明确,来自于数据本身。对于XML来说,你需要DTD或schema来确定。Tim肯定就是Text先生,所以我很肯定他一定会告诉我要想要这些东西是错误的想法。

6、至于产出能力,我没有看见这与{ “FirstName”: “Tim”, “LastName”: “Ewald” }XML的等同部分(我应该在这将它打出来,但是对于我这一生,我都不能让.TEXT正确的逃脱万物的束缚)相比有多差劲。当然,我能将XSLT应用于后者来产出HTML,但是如果我是一个Swing、AWT、User32或者是Avalon用户又会怎样呢。

简而言之,我想XML对于JSON最大的优势在于它的惯性。在XML这里,有一大堆处理它的工具和一大堆以XML为载体的数据。

要取代XML,JSON还要翻过一座大山。它的归宿是新的、不再拥有Javascript/Browser组件的应用程序(感谢Dare)

上面所述的立场中,有它的简单性和流行趋势因素在里面。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1492200

Karl Rove和Dick Cheney加入了REST争论相关推荐

  1. 《财富》杂志评选的75本必读的最睿智的图书

    畅销图书 1929 年大崩盘 75本必读书 一切待售 个人历史 出类拔萃之辈 北京吉普 十三天 华尔街之子摩根 君主论 告密者 国富论 基业长青 大曝光 大洋深处 孙子兵法 安那普尔那 小沃森自传 工 ...

  2. 《财富》推荐的75本必读书 (修订版)

    在一个完美的世界里,我们 每个人都该有自己的"军师",就像<教父>里的那位律师,或是德尔斐神庙的神使,他能一天 24 小时跟随我们,在我们耳边说著妙策良言: " ...

  3. 《财富》推荐的75本必读书(转)

    在一个完美的世界里,我们每个人都该有自己的"军师",就像<教父>里的那位律师,或是德尔斐神庙的神使,他能一天 24 小时跟随我们,在我们耳边说著妙策良言: " ...

  4. 福布斯荐75本经商必读

    商业兴衰  1. <1929 年大崩盘>(The Great Crash 1929),加尔布雷思(John Kenneth Galbraith)著,1955 年出版.这是本简明扼要但又富有 ...

  5. 《财富》推荐的75本必读书

    在一个完美的世界里,我们每个人都该有自己的"军师",就像<教父>里的那位律师,或是德尔斐神庙的神使,他能一天 24 小时跟随我们,在我们耳边说著妙策良言: " ...

  6. 从今天起 一周至少看一本书 不能再蹉跎

    <财富>推荐的75本必读书 在 一个完美的世界里,我们每个人都该有自己的"军师",就像<教父>里的那位律师,或是德尔斐神庙的神使,他能一天 24 小时跟随我 ...

  7. 《财富》推荐的75本必读书 (转载)

    <财富>推荐的75本必读书 ( 转载) 在一个完美的世界里,我们每个人都该有自己的"军师",就像<教父>里的那位律师,或是德尔斐神庙的神使,他能一天 24 ...

  8. 物联网:企业需要面临七大风险

    目前,随着物联网(IoT)的发展,从手机和汽车到冰箱和灯开关,几乎所有的电子设备都可以连接到互联网.现在连接到互联网的设备数量正在迅速增长,预计到2020年,这个数字将达到500亿. 但是,虽然物联网 ...

  9. Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) run_glue.py微调脚本代码 python命令执行run ...

  10. 物联网的安全问题引起争论,这些威胁有待解决...

    正如手机时代,我们在互联网2.0+时代享受各种便利,但也存在一定安全威胁.物联网也不例外,对于时下最火的三大热门领域之一:物联网,它有哪些安全威胁有待解决呢? 安全威胁1.僵尸网络和DDoS攻击 许多 ...

最新文章

  1. 自己动手实现轻量级神经网络推理框架
  2. OSPF有五种报文,hello,dd,lsr,lsu,lsack
  3. 多媒体-设备的名称已被此应用程序用作别名,请使用唯一的别名
  4. Ubuntu上安装Air运行时和Air程序
  5. 016_SpringBoot整合MyBatis
  6. c语言,如何产生随机数
  7. 排序---对二维数组的排序
  8. [APP] Android 开发笔记 001-环境搭建与命令行创建项目
  9. mybatis 多表查询-一对多(方法一 常用)
  10. 懒惰的人有福了——VS代码段编辑器SnippetEditor 可对vs所有代码段进行编辑和创建包括C#\J#\VB.NET等...
  11. js学习笔记 chapter5 引用类型
  12. hdfs读写流程_一篇文章搞清楚 HDFS 基本原理
  13. 超星考试浏览器_超星浏览器官方下载
  14. LG手机无法连接adb
  15. Eucalyptus的结构
  16. 编写USB鼠标驱动程序,并测试
  17. 云南省计算机一级考试题7,计算机(一级B类)云南省计算机一级考试题库.doc
  18. 创造与魔法java语言_创造与魔法 | 最新魔法使用大全
  19. EasyRecovery2022电脑文件文档数据恢复软件
  20. OneNav一为主题魔改教程(二):使用纯css增加网站Logo扫光效果--洞五洞洞幺

热门文章

  1. webpack不报错但是图标和字体却无法显示
  2. Volatility FAQ
  3. python3 录屏
  4. RabbitMQ Management:Management API returned status code 500
  5. 【计算机体系结构量化与研究方法笔记】
  6. 阿里云域名注册+网站备案
  7. python携程怎么做数据同步_python协程中同步如何使用?
  8. R语言与数据分析练习:K-Means聚类
  9. 类型多样的数码配件免抠元素素材,速来收藏
  10. 【龙印】用M665和M666给三角洲3D打印机调平