您的位置:首页 > 移动开发 > Objective-C

使用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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java json date
相关文章推荐