编写自己的json解析工具二
来源:互联网 发布:淘宝能买到烟吗 编辑:程序博客网 时间:2024/05/17 04:23
已经有一段时间了这是我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 {//解析personString 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 blocke.printStackTrace();}</span>
//输出1
//输出2
后期优化打算:
1、重构代码,让代码模块更清晰。
2、增加对各种类型的支持,修补bug,使工具更实用。
两个附件:
jar包
java source
(由于博客不方便附件源码,请移步到我的开源中国代码分享,http://www.oschina.net/code/snippet_2012023_45074)
0 0
- 编写自己的json解析工具二
- 编写自己的json解析工具一
- 编写自己的代码生成工具二:解析配置文件
- 解析自己的json
- 编写自己的PING工具
- 简单的json解析工具
- 自己编写的JDBC的工具类
- 自己编写高负荷测试的工具
- 自己编写的一个截图工具
- javascript编写自己的模板解析器
- 自己写一个Json解析的模型
- 编写自己的sniffer(二)
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象[修订081217]
- 自己编写的一个Json工具类,实现了反射将整个Object转换为Json对象的功能,支持Hibernate的延迟加载对象
- 解析json格式的工具类
- json解析工具:Gson的使用
- 定制自己的Wireshark解析工具
- python import自己编写的模块:import json和simplejson
- 图片上传--Jersey实现RESTful接口
- 在Linux上使用Chrome运行Android应用
- 在移动Web单页应用中实现固定页脚
- Python 图像显示
- 【算法设计与分析】9、最小生成树,贪心算法实现
- 编写自己的json解析工具二
- 当男友在创业
- 萝卜FTP工具续
- 微信6.0版的一些设计细节
- java-单例笔记
- 慎用text-indent的负值
- 我的javascript
- Apache James 搭建自己的邮件服务器
- 复习之游戏商城