一、定义
1、xml:扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
2、json:
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。用于数据转化传输,通用于PHP、Java、C++、C#、Python等编程语言的数据交换传输。它易于人阅读和编写,同时也易于机器解析和生成。
基本结构:对象、数组
3、gson:GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个Json字符转成一个Java对象,或者将一个Java转化为Json字符串。代码量少、快速高效,面向对象,数据传递和解析方便。
代码:
- //实例化Gson对象
- Gson gson = new Gson();
- //把json字符串转化为对象
- Book book = gson.fromJson(result, Book.class);
二、优缺点
xml优点:
1、格式统一,符合标准;
2、容易与其他系统进行远程交互,数据共享比较方便。
2、容易与其他系统进行远程交互,数据共享比较方便。
xml缺点:
1、文件庞大,格式复杂,占带宽
2、服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;
3、客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;
4、服务器端和客户端解析XML花费较多的资源和时间。
JSON的优点:
1、数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;
2、易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取;
3、支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言,便于服务器端的解析;
4、在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取;
E.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护。
JSON的缺点
1、数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;
2、易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取;
3、支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言,便于服务器端的解析;
4、在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取;
E.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护。
JSON的缺点
1、
没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性;
2、JSON格式目前在Web Service中推广还属于初级阶段。
2、JSON格式目前在Web Service中推广还属于初级阶段。