Java和JavaScript对XML与JSON的支持

 

XML由于存在时间较长已经成为了传输结构化数据的事实标准。

JSON则是由于后来业界不少人认为XML过于繁琐、冗长而新产生的一种数据格式。

 

它们在传输结构化数据时往往都是以字符串进行传输的,但在操作结构化数据时会先将它们解析回结构化数据。

 

 

Java和JavaScript对XML和JSON的支持

 

Java中解析和序列化xml以及json

JavaScript中解析和序列化xml以及json

XML  

 

xml字符串(或文件)

<------->xml文档对象

基本的解析方式有两种,一种叫SAX,另一种叫DOM。SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。

 

详解Java解析XML的四种方法

http://developer.51cto.com/art/200903/117512.htm

 

这里边牵涉到了xml文件,可以这么看,我们这里说的xml字符串都是存在内存中的,而xml文件存在与硬盘中,要想转移到内存中,就需要多一层io操作

这么一来,两者都可以通过上边的方法进行解析了

 

至于在Java中对Document进行序列化(变成字符串),我没知道相关资料,可能就是toString方法

 

一般的,可以通过DOMParser实例的parseFromString(xml字符串,  "text/xml")方法对xml字符串进行解析;通过XMLSerializer实例的serializeToString(xmldom)的方法对xml文档对象进行序列化。

另外,对于IE8以及之前的版本,通过createDocument().loadXML(xml字符串)对xml字符串进行解析,通过直接调用xml文档对象的xml属性就可以对其进行序列化。

JSON

 

json字符串

<------>json对象

 

导入json-lib中的jar包

 

使用json-lib进行Java和JSON之间的转换

http://www.cnblogs.com/mailingfeng/archive/2012/01/18/2325707.html

 

解析:

简单类型、List、Collection等都是用JSONArray解析

Map、自定义类型是用JSONObject解析

 JSONArray.fromObject  与JSONObject.fromObject方法

序列化:

直接调用json对象的toString方法

 

 

JSON对象的stringify和parse方法

分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript值。

 

 

 

补充说明:

1.理解了HTMLDocument和XMLDocument类型之间的区别

 

在浏览器中,document对象(window.document)是HTMLDocument(继承自EXMAScript中的Document类型)的一个实例,表示整个HTML页面,它是在XMLDocument的基础上建立的(正如HTML是在XML的基础上建立起来的一样),具有XMLDocument的一切属性和方法。

浏览器支持HTML,故而都支持XML。

2..json值与JavaScript值

json能表示简单值(字符串、数值、布尔值、null,不支持JavaScript中的undefined)、对象和数组

JSON最新与JavaScript的对象字面量有两点不同:①JSON中没有声明变量②JSON没有末尾的分号(因为它不是JavaScript语句)

 

你可能感兴趣的:(Java和JavaScript对XML与JSON的支持)