JSON与java对象的转换以及XML的基本应用规范

两种Java对象与JSON格式互转的方法:

(以eclipse为例,需要下载服务器)
需要创建dynamic web的project,接着在src目录下创建test文件中的Junit Test Case来使用测试,实行格式转换。
注意:

  • 1、单元测试类不能有父类
    
  •  2、单元测试方法不能是静态方法
    
  •  3、单元测试方法没有参数
    
  •  4、单元测试方法返回值是void 
    

①Gson
创建Google的Gson对象来使用转换
//转为Json格式
String json=new Gson().toJson(object);

//转为java对象
eg.User user=new Gson().fromJson(json,User.class);

②ALIBABA的FastJson
//转为Json格式
System.out.println(JSON.toJSONString(user));
内部已经封装好的方法,只需直接套用JSON.toJSONString();

//转为java对象
eg.User user=JSON.parseObject(json1,User.class);
List list=JSON.parseArray(json2,String.class);

XML
1、语法规范:
1)、必须有 XML 文档声明:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<?xml:文档的开始,表示当前是xml文档
version:xml的版本,目前只有"1.0"
encoding:编码
standalone:xml文档是否独立,默认是yes
?>:xml文档声明结束
2)、必须有且仅有一个根元素
3)、严格区分大小写
4)、属性值用引号(双引号或单引号) :等号分开的名称-值对;在一个元素上,相同的属性只能出现一次
5)、标记成对;
6)、空标记关闭;
7)、元素正确嵌套。
注:注意文本文件保存时候默认的编码格式是ANSI,需用记事本把它手动改为UTF-8保存。

2、元素命名规则
			1)、名称中可以包含字母、数字或者其他可见字符;
			2)、名称不能以数字开头;
			3)、不能以 XML/xml/Xml…开头;
			4)、名称中不能含空格;
			5)、名称中不能含冒号(注:冒号留给命名空间使用) 			


3、实体
			实体叫 ENTITY,实体的作用是避免重复输入。作用相当于宏或者变量。
			1)内置的 5 种实体
				实体 符号
				&lt;	 <
				&gt; 	 >
				&amp;	 &
				&quot; 	 "
				&apos; 	 '	
			2)自定义实体
				<!DOCTYPE 根元素[
					<!ENTITY 实体名 "实体内容">
				]>
             使用已定义的实体:&实体名; 			


4、文档类型声明
			文档类型定义——DOCTYPE,文档类型声明,紧跟 XML 声明之后,包含所有实体声明 		
				
5、CDATA
			用于把整段文本解释为纯字符数据而不是标记的情况。如包含大量的<、>、&、或者"字符。
			CDATA 节中的所有字符都会被当做元素字符数据的常量部分,而不是 XML 标记,可以输入除]]>外任意字符,不能嵌套。
			<![CDATA[ ...... ]]>	 		

6、PCDATA
			PCDATA 的意思是被解析的字符数据(parsed character data)。
			可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。

XML解析
基本的解析方式有两种:一种叫 SAX,另一种叫 DOM。
SAX(Simple API for XML)是基于事件流的解析,DOM(Document Object Model)是基于 XML 文档树结构的解析。
SAX:效率高,数据量小,仅一次获取
DOM:整颗树加载到内存中,耗内存,可多次获取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值