您的位置:首页 > 其它

开发笔记两则

2015-11-29 10:38 218 查看
笔记一:用Json-lib转换复杂对象的注意事项

Json-lib是Java下常用的Json转换包,通常情况下,我们这样转换Json字符串到Java对象:

/* Person是这样定义的

* public class Person {

* private String name;

* private int sex;

* ...

* }

*/

JSONObject jsonObj = JSONObject.fromObject(jsonStr);

Person person = (Person) JSONObject.toBean(jsonObj, Person.class);

在Person的成员都是基本数据类型和String类型时,这样转换没问题。如果Person中包含List、Array、自定义类型的成员时,转换就会出错了,例如,如果Person类这样定义:

public class Person {

private String name;

private int sex;

private List<String> experience;

...

}

这时应该像下面这样处理:

Map<String, Class> classMap = new HashMap<String, Class>();

classMap.put("experience", List.class);

JSONObject jsonObj = JSONObject.fromObject(jsonStr);

Person person = (Person) JSONObject.toBean(jsonObj, Person.class, classMap);

笔记二:用HttpClient获取的Http响应中如何避免中文乱码。

在调用EntityUtils.toString方法获得响应字符串时加上编码参数,如下:

HttpEntity entity = response.getEntity();

return entity != null ? EntityUtils.toString(entity, "UTF-8") : null;

"UTF-8"是响应页面的编码,如果页面编码是GBK这里就该相应的换成GBK。

欢迎扫码关注我的微信公众号



君子爱财取之有道

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