编写自己的json解析工具二

页面导航:首页 > 网络编程 > JavaScript > 编写自己的json解析工具二

编写自己的json解析工具二

来源: 作者: 时间:2016-02-04 09:15 【

已经有一段时间了这是我json工具的第二篇,距离第一篇《编写自己的json解析工具一》已经有一段时间了。期间的原因有很多,懒、忙于其他工作、还有中间碰到了很多本来没想过的细节

已经有一段时间了这是我json工具的第二篇,距离第一篇《编写自己的json解析工具一》已经有一段时间了。期间的原因有很多,懒、忙于其他工作、还有中间碰到了很多本来没想过的细节问题。现在已经基本写好,可以使用但是有着很多限制,还是水平不够吧,权当给新学者参考一下,老手看了估计要喷了。这是第一次完整的摆放上来,代码结构不是很清晰,后面再重构。

此工具除jdk此外不依赖其他第三方包,最重要的类JSONUtil运用了很多反射,平时不怎么接触,也是现学先写。其他的如JSONException,Person,Phone等都是为其提供支持的,很简单。

JSONUtil使用方法:

运用主要的4个静态方法,可以实现json与内置对象,json与自定义javaBean间的转换,限于个人水平,对转换和对象有一定限制。javadoc描述

\

整个包生成Java doc如图:

\

 

部分测试代码及效果:

(有好几个测试方法,此处是测试Javabean转json,再由json转回javabean)

Person p=new Person(KJ405891,MUMU-XCJ,23);
		Phone phone1=new Phone(CN-HW-20141230001,荣耀5,1999.9);
		Phone phone2=new Phone(CN-MZ-20141230001,魅族MX9,888.0);
		p.addPhone(phone1);p.addPhone(phone2);
		try {
			//解析person
			String json2=JSONUtil.beanToJson(p);
			System.out.println(json2);
			Person p4=JSONUtil.jsonToBean(json2, Person.class);
			System.out.println(his name:+p4.getName()+,his age:+p4.getAge()+ ,his first phone brand:+
			p4.getPhonelist().get(0).getBrand()+,price:+p4.getPhonelist().get(0).getPrice());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

 

 

控制台截图:

//输出1

\\

//输出2

\

 

后期优化打算:

1、重构代码,让代码模块更清晰。

2、增加对各种类型的支持,修补bug,使工具更实用。

 

Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<