使用json-lib的JSONObject.toBean( )时碰到的日期属性转换的问题
2012-05-12 00:17
555 查看
今天碰到这样一个问题:
当前台以JSON格式向后台传递数据的时候,对于数据中的日期属性,无法正常转换为相应的Date属性。
JSON数据是这样的:
{"birthday":"1980/01/01","name":"testname"}
我要转换成的类是这样的:
在网上搜了一遍,发现了很多关于进行相反方向转换时的帖子,即使用json-lib将bean转成json串时,日期属性的格式不符合习惯,后来好不容易才找到了这个问题的解决办法,虽然是抄别人的,但也发一贴为以后其他人更容易找到答案出点力,呵呵。废话少说,其实解决方法很简单,把转换代码改成这样:
Java代码
JSONObject jsonPerson = JSONObject.fromObject(personData);
String[] dateFormats = new String[] {"yyyy/MM/dd"};
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dateFormats));
Person person = (Person)JSONObject.toBean(jsonPerson, Person.class);
另一个方法:
private static void setDataFormat2JAVA(){
//设定日期转换格式
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss"}));
public class Person {
private String name;
private Date birthday;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public Date getBirthday() {
return birthday;
}
}
当前台以JSON格式向后台传递数据的时候,对于数据中的日期属性,无法正常转换为相应的Date属性。
JSON数据是这样的:
{"birthday":"1980/01/01","name":"testname"}
我要转换成的类是这样的:
在网上搜了一遍,发现了很多关于进行相反方向转换时的帖子,即使用json-lib将bean转成json串时,日期属性的格式不符合习惯,后来好不容易才找到了这个问题的解决办法,虽然是抄别人的,但也发一贴为以后其他人更容易找到答案出点力,呵呵。废话少说,其实解决方法很简单,把转换代码改成这样:
Java代码
JSONObject jsonPerson = JSONObject.fromObject(personData);
String[] dateFormats = new String[] {"yyyy/MM/dd"};
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(dateFormats));
Person person = (Person)JSONObject.toBean(jsonPerson, Person.class);
另一个方法:
private static void setDataFormat2JAVA(){
//设定日期转换格式
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss"}));
public class Person {
private String name;
private Date birthday;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public Date getBirthday() {
return birthday;
}
}
相关文章推荐
- 使用json-lib的JSONObject.toBean( )时碰到的日期属性转换的问题
- 使用json-lib的JSONObject.toBean( )时碰到的日期属性转换的问题
- 使用json-lib的JSONObject.toBean( )时碰到的日期属性转换的问题
- Extjs4---json处理日期的问题,JSONObject.toBean转换日期时显示当前日期
- 使用JSONObject.fromObject toBean方法 属性类型为 data Timestamp 的处理
- 关于如何处理JSONObject.fromObject(Object obj)无法转换特殊日期(java.sql.Date,java.sql.Timestamp)格式的问题。
- JAVA JSONObject.toBean() 方法使用
- json-lib反序列化时(JSONObject.toBean),时间类型为空的处理
- 使用json-lib-2.4-jdk15转javabean,报net.sf.ezmorph.bean.MorphDynaBean转换异常
- Json串与List<Bean>、Bean之间的转换,处理类中List<Bean>属性的序列化问题
- json-lib反序列化时(JSONObject.toBean),时间类型为空的处理方法
- 使用gson将json数据进行转换 (json to bean 或 json to list)
- 使用json-lib jsonObject 把json 转换成 java对象
- Java使用JSONObject的Jar包问题,json-lib 2.4
- 百度天气api开发 全解析xml和json格式 使用json-lib jsonObject、 Gson 方式把json 转换成 java对象
- JSONObject.fromObject 日期类型转换问题
- JSON转换包含Date日期属性的对象的List集合报错问题
- 使用net.sf.json包提供的JSONObject.toBean方法时,日期转化错误解决办法
- java 使用ObjectMapper的方式实现Json和bean的转换
- 使用JSONObject(json-lib)格式化bean,map,list!!!