- 浏览: 280828 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
梦醒无尘:
异步处理框架已经用到项目上,感谢你利用休息时间创造出一款舒服的 ...
asyn4j 1.2 发布 -
xiaokang1582830:
有一点没有考虑到的就是是否可以提供目前已经在调用的calss和 ...
asyn4j -- 异步方法调用框架 -
snowolf:
记得曾经实现过iBatis+EhCache,实现了一个iBat ...
让ibatis 支持 memcached -
bsspirit:
很好,很好!!
java annotation 实例 -
ij仔:
...
Statement,PreparedStatement区别
http://www.iteye.com/topic/484519已发布了成型工具包,还包括相关工具.
定义一个注解
实体
转换函数
运用
我会努力的,这个库还在不断的完善中!
近期有空实现一下分享给大家
支持这两位说的我一直用官方那个 那个足够用了
学习注解和反射很好的引导,当时只是为了方便没有想那么多.
谢谢指点!
定义一个注解
@Retention(RetentionPolicy.RUNTIME) @Target( { ElementType.FIELD }) public @interface JSONValue { }
实体
package com.ask.admin.entity; public class Favorite implements Serializable { /** * */ private static final long serialVersionUID = -8350231152253261408L; // 编号 @JSONValue private int id; // 标题 @JSONValue private String title; // 地址 @JSONValue private String uri; // 分类 private int fCategory; // 描述 @JSONValue private String fdesc; // 状态 private int status; private int author; private FavoriteCategory favoriteCategory = new FavoriteCategory(); public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getUri() { return uri; } public void setUri(String uri) { this.uri = uri; } public int getFCategory() { return fCategory; } public void setFCategory(int category) { fCategory = category; } public String getFdesc() { return fdesc; } public void setFdesc(String fdesc) { this.fdesc = fdesc; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public int getAuthor() { return author; } public void setAuthor(int author) { this.author = author; } public FavoriteCategory getFavoriteCategory() { return favoriteCategory; } public void setFavoriteCategory(FavoriteCategory favoriteCategory) { this.favoriteCategory = favoriteCategory; } }
转换函数
public class EntityConversionJSON { @AskLogger private static Logger logger; /** * 实体的值转成JSON对象的值 * * @param source * @param dest */ public static void entityToJSON(Object source, JSONObject dest) { Class clzss = source.getClass(); Field[] fields = clzss.getDeclaredFields(); try { for (Field field : fields) { //确认是否带有JSONValue注解 if (field.getAnnotation(JSONValue.class) != null) { dest.put(field.getName(), getFieldValue(source, field .getName())); } } } catch (Exception e) { logger.error(e); throw new RuntimeException(e); } } /** * 获取字段的值 * * @param data * @param fieldName * @return */ public static Object getFieldValue(Object data, String fieldName) { StringBuilder sb = new StringBuilder(); Class clzss = data.getClass(); //将字段首字母大写 String firstWord = fieldName.substring(0, 1).toUpperCase(); sb.append(firstWord); sb.append(fieldName.substring(1, fieldName.length())); final String methodName = "get" + sb.toString(); Method[] methods = clzss.getDeclaredMethods(); try { for (Method method : methods) { // 调用对应的方法 if (methodName.equals(method.getName())) { return method.invoke(data, new Object[] {}); } } } catch (Exception e) { logger.error(e); throw new RuntimeException(e); } return null; } }
运用
JSONObject jsonFavorite = new JSONObject(); EntityConversionJSON.entityToJSON(favorite, jsonFavorite);
评论
17 楼
e_ville
2009-10-12
XStream也可以完成这种Java对象到JSON对象的转换咯,还可以嵌套,不错。推荐大家试下
16 楼
love1907
2009-10-12
JSON是一个VIEW相关的,用不着侵入吧,我觉得用第三方JAR来组装,是最佳实再方式,或许要比你的实现多写一些代码。。。
15 楼
leisure
2009-10-10
不如用工具类直接转换方便
14 楼
pan_java
2009-10-10
vlinux 写道
貌似不支持级联那
而且我建议,这个注释同时也支持ElementType.TYPE比较好,因为当我需要对一个Bean进行完全转换的时候,只需在类定义处打上一个注释就好了,这样所有的属性都会按照预先约定的格式进行转换。
而且这种转换的框架最好能作成双向的,否则在一些特殊约定的限制下(比如对数组的处理),只实现一个方向并没有多大用途。
你也可以考虑在上边添加上验证数据长度、not null、正则的验证框架,这样就更能扩充框架的功能了。
不用太担心性能,要知道如果是HTTP短连接模式的接口,建立TCP三次握手、处理HTTP请求的开销可比这大多了。
而且我建议,这个注释同时也支持ElementType.TYPE比较好,因为当我需要对一个Bean进行完全转换的时候,只需在类定义处打上一个注释就好了,这样所有的属性都会按照预先约定的格式进行转换。
而且这种转换的框架最好能作成双向的,否则在一些特殊约定的限制下(比如对数组的处理),只实现一个方向并没有多大用途。
你也可以考虑在上边添加上验证数据长度、not null、正则的验证框架,这样就更能扩充框架的功能了。
不用太担心性能,要知道如果是HTTP短连接模式的接口,建立TCP三次握手、处理HTTP请求的开销可比这大多了。
我会努力的,这个库还在不断的完善中!
13 楼
vlinux
2009-10-10
貌似不支持级联那
而且我建议,这个注释同时也支持ElementType.TYPE比较好,因为当我需要对一个Bean进行完全转换的时候,只需在类定义处打上一个注释就好了,这样所有的属性都会按照预先约定的格式进行转换。
而且这种转换的框架最好能作成双向的,否则在一些特殊约定的限制下(比如对数组的处理),只实现一个方向并没有多大用途。
你也可以考虑在上边添加上验证数据长度、not null、正则的验证框架,这样就更能扩充框架的功能了。
不用太担心性能,要知道如果是HTTP短连接模式的接口,建立TCP三次握手、处理HTTP请求的开销可比这大多了。
而且我建议,这个注释同时也支持ElementType.TYPE比较好,因为当我需要对一个Bean进行完全转换的时候,只需在类定义处打上一个注释就好了,这样所有的属性都会按照预先约定的格式进行转换。
而且这种转换的框架最好能作成双向的,否则在一些特殊约定的限制下(比如对数组的处理),只实现一个方向并没有多大用途。
你也可以考虑在上边添加上验证数据长度、not null、正则的验证框架,这样就更能扩充框架的功能了。
不用太担心性能,要知道如果是HTTP短连接模式的接口,建立TCP三次握手、处理HTTP请求的开销可比这大多了。
12 楼
kimmking
2009-10-10
有时间我发个我自己写的吧
本来是一个远程调用项目,序列化对象成xml,后来发现改改就能序列化json
本来是一个远程调用项目,序列化对象成xml,后来发现改改就能序列化json
11 楼
houlc
2009-10-10
json如何传递blob,clob的数据?
10 楼
pan_java
2009-10-09
yangtao309 写道
写个通用的
能够json化单一对象
和json化树形集合的
能够json化单一对象
和json化树形集合的
近期有空实现一下分享给大家
9 楼
01404421
2009-10-09
我用的nutz的解析功能,很简洁,支持LZ自己写
8 楼
whaosoft
2009-10-09
Ihavegotyou 写道
同意kimmking。 到http://www.json.org/ 去下载 java相关的Source. 这样更好维护,也不容易出错。
支持这两位说的我一直用官方那个 那个足够用了
7 楼
yangtao309
2009-10-09
写个通用的
能够json化单一对象
和json化树形集合的
能够json化单一对象
和json化树形集合的
6 楼
vanlin
2009-10-09
是个好办法,,之前我考虑的是用个类来解析,用 注解先标识一下也不错。
5 楼
pan_java
2009-10-09
Ihavegotyou 写道
同意kimmking。 到http://www.json.org/ 去下载 java相关的Source. 这样更好维护,也不容易出错。
学习注解和反射很好的引导,当时只是为了方便没有想那么多.
谢谢指点!
4 楼
Ihavegotyou
2009-10-09
同意kimmking。 到http://www.json.org/ 去下载 java相关的Source. 这样更好维护,也不容易出错。
3 楼
zhc520
2009-10-09
谢谢!领教了!
2 楼
kimmking
2009-10-09
思路不错,but json序列化还是用非入侵pojo的方式比较好。
而且太简单,没有处理常见数据类型和自定义类型。
而且太简单,没有处理常见数据类型和自定义类型。
1 楼
d-jasonlee
2009-10-09
谢谢分享,一直在用JASONPLUGIN,有空自己实现一个,呵呵
发表评论
-
sql 解析 工具(sql parse)
2010-11-25 12:51 5832项目地址: http://jsqlparser.source ... -
asyn4j 1.2 发布
2010-10-08 19:16 18591.2更新 1.设置关闭服务延时 2.设置异步工作 ... -
asyn4j -- 异步方法调用框架
2010-08-24 19:41 3796asyn4j 是一个java异步方法调用框架,基于消费者与生产 ... -
代码备忘录
2010-08-06 10:47 1272List 迭代 private final List& ... -
java分布式学习笔记
2010-07-19 22:05 38571.分布式JAVA应用 基于TC ... -
写正则表达式--工具分享
2010-04-07 11:06 1180这是一个写和测正则表达式很好的工具,不知大家有没有用过! 里面 ... -
mina 实现与memcached 连接工具
2010-02-24 22:00 2042前段时间学习了mina框架.就确定写一个小实例玩一下. 看到不 ... -
JMF 通过 Applet 获取数据
2009-12-22 15:15 1624import java.awt.BorderLayou ... -
yanf4j 服务端读取操作 源码分析
2009-12-19 15:13 1390最近学习 NIO,学习了XMemcached 和 它的NIO框 ... -
Statement,PreparedStatement区别
2009-12-17 16:04 2219以Oracle为例吧 Statement ... -
java 排序 整合
2009-12-17 14:59 1202package net.rubyeye.xmemcached. ... -
JVM 结束挂钩程序
2009-12-16 15:08 1144public class HookTest { /** ... -
java优化编程--读书笔记
2009-12-09 14:58 17821.JVM管理两种类型的内存:堆内存(heap),栈内存(st ... -
Java的内存泄漏
2009-11-30 11:54 957Java的一个重要优点就是通过垃圾收集器(Garbage Co ... -
TCP/IP 无阻塞 Socket
2009-11-25 17:25 1922package com.io; import java. ... -
java socket 多线程处理
2009-11-25 16:16 2260public class MallShopSoketServe ... -
写ZIP文件
2009-11-24 09:42 966public class ZipTest { /** ... -
XML DOM API
2009-11-23 11:49 1476javax.xml.parse.DocumentBuilder ... -
自定义类加载器
2009-11-23 09:34 1090public class CryptoClassLoader ... -
ibatis 缓存 key 过长,大家有什么看法
2009-11-21 10:50 1037实体类 public class Account impl ...
相关推荐
实体类转换成 JSON 字符串,将datatable转换为json,DataTable转换实体类
工具类---实现实体类与Json的转换
Json转换成C#实体类工具,根据Json格式,自动转换成C#实体类,非常方便大家使用。
C#下支持一行代码将实体类转换为JSON字符串,https://blog.csdn.net/simoral/article/details/80625654
json和map或者bean之间的转换,可以简单的把json和map或者list或者是bean进行转换
Json转换为实体;Json转换为IList;实体转换为Json;IList转换为Json;
用到gson-1.6.jar包,很容易的将实体类对象数据转化为JSON字符串,同理将json字符串转化为实体类对象数据。demo里面都有介绍,希望对大家有帮助。
json转对象 json转实体 利用阿里巴巴 fastjson 将对象 与json 数据互相转换 http://blog.csdn.net/chenmmo/article/details/70154964
json转换实体类工具,支持Java、C#、VB和TypeScript语言
C# 工具类 泛型转JSON 使用 Newtonsoft.Json 转换JSON
将json字符串转化成c#实体类代码;方便你编写复杂的实体类,一键自动生成
GsonFormat,Idea上JSON转实体类插件,下载后解压,打开idea插件,选择在磁盘上安装,重启idea即可
然而通过Json实现数据交互成为我们开发中的一部分,进而Jackson为我们的Json转化提供了很好的机制。下面我将利用实例总结如何使用jackson. 一、准备 如果你需要使用jackson,你必须得导入相应的架包,有如下三个包 ...
该工具支持通过在软件界面输入或者粘贴JSON字符串,根据字符串生成C#编程开发使用的JSON实体类文件。
支持Bean转JSON List<> 转JSON
json转实体json解析post模拟请求简单应用小例子
json格式转换为java实体类,idea导入即可,功能非常好用。直接允许main函数即可完成
该工具类包括多重的json字符串或Map或List的相互转换,该文件包括主要的jar包,可以快捷的使用工具
同word文档的table 转成实体类, 此时源码可以自己改用于生成实体类之用