编写自己的json解析工具二

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

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

JSONUtil使用方法:

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


整个包生成Java doc如图:


部分测试代码及效果:

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

<span style="font-family:Arial;font-size:12px;">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();
		}</span>


控制台截图:

//输出1


//输出2


后期优化打算:

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

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


两个附件:

jar包

java source

(由于博客不方便附件源码,请移步到我的开源中国代码分享,http://www.oschina.net/code/snippet_2012023_45074

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值