对比XML JSON INIDG 三种格式

在移动与WEB开发时,避免不了服务端与客户端数据交换,需要从多种格式中找到一种合适的

主要考虑两点,数据量小,解析快速,支持工具丰富

json(JavaScript Object Notation)

一般用于WEB和移动应用的网络数据交换

优点:

可以被JS原生解析

应用广泛,适合于数据交换处理,被于WEB和移动应用开发,所以服务端与客户端一般被要求同时支持JSON

数据量小,易于解析,因为格式简单,只有数组,对象和普通文本

缺点:

肉眼可读性差,

字符类型与数值类型容易混淆

举例

["str1",2,{"key":"value}]

xml(eXtensible Markup Language)

被广泛应用,具备完善的标准

优点:

扩展性好,标记自由定义

被广泛使用(HTML,SOAP,应用的界面布局结构如安卓)

描述性好,有节点名,属性名,还有文件头(描述字符编码和版本)

支持嵌套

支持注释<!---->

支持特殊格式,CDATA,<![CDATA[文本内容]]>

缺点:

数据量大,重复信息最多,因为嵌套结点必须有头和尾,每一个节点的属性都必须有键有值,...

解析最复杂,因为格式本身复杂,有多种类型的节点

举例

<?xml encoding="utf-8" version="1.0">

<!--for class5 grade1-->

<class>

<student name="ming" age="18">

<![CDATA[some script]]>

</student>

</class>

ini (Initial)

早期使用比较多,一般用于存储系统和应用的配置信息

优点:

所以数据量小,因为格式最简单

解析最简单,只要解析[],=,换行

支持注释 ;

缺点:

ini只支持键值模式,而且只有一层分类,无嵌套

k1=k2

[sec1]

k1=v1

k2=v2

[sec2]

k1=v1

对比XML JSON INIDG 三种格式

时间: 2024-10-25 19:42:36

对比XML JSON INIDG 三种格式的相关文章

解析Xml文件的三种方式及其特点

解析Xml文件的三种方式 1.Sax解析(simple api  for xml) 使用流式处理的方式,它并不记录所读内容的相关信息.它是一种以事件为驱动的XML API,解析速度快,占用内存少.使用回调函数来实现. 1 class MyDefaultHander extends DefaultHandler{ 2 private List<Student> list; 3 private Student student; 4 5 @Override 6 public void startDo

iOS开发——程序员必备&amp;iOS安装包的三种格式 deb、ipa 和 pxl的解释和说明

iOS安装包的三种格式 deb.ipa 和 pxl的解释和说明 目前 iOS 平台上常见的安装包有三种,deb.ipa 和 pxl.转自链接:http://fanlb.blogbus.com/logs/80466716.html  多谢作者分享!其中 deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统,成为了当前在 Linux 下非常流行的一种安装包.进入 2.x 时代之后有 Cydia 作者 Jay Freeman(sauri

Mysql Binlog三种格式介绍及分析【转】

一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在binlog中. 优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能.(相比row能节约多少性能 与日志量,这个取决于应用的SQL情况,正常同一条记录修改或者插入row格式所产生的日志量还小于Statement产生的日志量,但是考虑到如果带条 件的update操作,以及整表

JSON的三种解析方式

一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串.数字.也可以是另一个数组或对象) 所以 {"name": "Michael"} 可以理解为是一个包含name为Mich

Django objects的查询结果转化为json的三种方式

第一种方式:利用seriallizers这个方法,官网的解释说:将复杂的数据结构变成json.xml或者其他的格式 import json from django.core import serializers def area2(request,id): data = {} province = serializers.serialize("json",AreaInfo.objects.filter(parea__isnull=True)) data["data"

Android学习之XML数据的三种解析方式以及生成XML文件

首先,我得声明,本博客的思想主要参考了此博客:http://blog.csdn.net/liuhe688/article/details/6415593 不过代码我自己一句句敲的 好了,首先讲一下解析XML的三种方式:(恕我粘贴一下哈) SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的.当事件源产生事件后,调用事件处理器相应的处理方法,一个事件就可以得到处理.在事件源调用事件处理器中特定方

字符串转json的三种方法

1 var str='{"a":1,"b":2}'; 2 //第一种 3 str = eval('('+b+')'); 4 //第二种 5 str = JSON.parse(b); 6 //第三种 7 str =new Function("return"+b)(); 8 9 alert(str.a); //1

ajax操作json的三种方式

一. 什么是json? 1. JSON是一种轻量级的数据交换格式 2. JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式 JSON最常用的格式是对象的 键值对.例如下面这样: {"firstName": "Brett", "lastName": "McLaughlin"} 具体前台代码如下: <!

JS中函数定义的三种格式

第一种:function  fun1(参数1,参数2...){            //通过创建函数名来定义函数 函数体: } 第二种:var fun2=new Function("参数1,参数2...","函数体");         //通过创建变量来定义函数 第三种:function(){                //匿名函数 函数体: } 说明: 1,在调用时,可以为没有参数的函数传递参数:但如果没有传递参数给有参数的函数时,会默认参数为undefi