实体类、实体类List↔JSON互转
来源:互联网 发布:吉林省互联网 公安软件 编辑:程序博客网 时间:2024/06/05 05:23
json与实体类、实体类List互转要用到的jar包:
http://download.csdn.net/download/superit401/9955861
或
http://files.cnblogs.com/files/wenjie123/json_jar%E5%8C%85.rar
1.测试类:
import java.util.ArrayList;import java.util.Date;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import net.sf.json.JsonConfig;import test.SwitchUtils.entity.User;public class entity2json {public static void main(String[] args) {/* * 1.测试单个实体转为json字符串 */User u = new User("alex","wuhan",18,"male");entity2json e2j = new entity2json();String jstr = e2j.beanToJSONStr(u);System.out.println("实体类转json字符串:"+jstr);/* * 2.测试实体类List转为json字符串 */List<User> ul = new ArrayList<User>();ul.add(new User("tom","shanghai",23,"male"));ul.add(new User("cherry","beijing",20,"famale"));ul.add(new User("bole","suzhou",19,"famale"));String jstrl = e2j.beanListToJSONStr(ul);System.out.println("实体类List转为json字符串:"+jstrl);/* * 3.测试json字符串转为实体类 */String j="{\"sex\":\"male\",\"address\":\"shanghai\",\"age\":23,\"name\":\"tom\"}"; JSONObject obj1 = JSONObject.fromObject(j);User uu = (User) JSONObject.toBean(obj1,User.class);System.out.println("json字符串转为实体类:"+uu);/* * 4.测试json字符串转为实体类List */String json = "{\"listObject\":[{\"sex\":\"male\",\"address\":\"shanghai\",\"age\":23,\"name\":\"tom\"},{\"sex\":\"famale\",\"address\":\"beijing\",\"age\":20,\"name\":\"cherry\"},{\"sex\":\"famale\",\"address\":\"suzhou\",\"age\":19,\"name\":\"bole\"}]}";JSONObject obj = JSONObject.fromObject(json);List<User> ulist = (List<User>) JSONArray.toList(obj.getJSONArray("listObject"), User.class);System.out.println("json字符串转为实体类List:"+ulist);}/** * 将对象转换成JSON格式的字符串 适用于单个对象(单个对象里可以包含List<T>)的转换 */ public <T> String beanToJSONStr(T t) { String json = ""; JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor()); if(t!=null){ json = JSONObject.fromObject(t, jsonConfig).toString(); }else{ json="[]"; } return json; } /** * 将实体类List转换成JSON格式的字符串 */ public <T> String beanListToJSONStr(List<T> t) { String json = ""; JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor()); if(t!=null){ json = JSONArray.fromObject(t, jsonConfig).toString(); }else{ json="[]"; } return json; }}
2.User.java
public class User{private String name;private String address;private int age;private String sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}@Overridepublic String toString() {return "User [name=" + name + ", address=" + address + ", age=" + age + ", sex=" + sex + "]";}public User(String name, String address, int age, String sex) {super();this.name = name;this.address = address;this.age = age;this.sex = sex;}public User(){}}
3.工具类:JsonDateValueProcessor.java(注意:此类可要可不要,没有涉及到时间转换问题就可以删除,包括删除上面测试类中相关两处代码)
import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;import net.sf.json.JsonConfig;import net.sf.json.processors.JsonValueProcessor;/** * Timestamp 处理器 */public class JsonDateValueProcessor implements JsonValueProcessor { private String formatDateTime ="yyyy-MM-dd HH:mm:ss"; private String formatDate ="yyyy-MM-dd"; public Object processArrayValue(Object value, JsonConfig config) { return process(value); } public Object processObjectValue(String key, Object value, JsonConfig config) { return process(value); } private Object process(Object value){ if(value instanceof Date){ SimpleDateFormat sdf ; if(value.toString().length()<=11||value.toString().indexOf("00:00:00.0")>=0){ sdf= new SimpleDateFormat(formatDate,Locale.UK); }else{ sdf= new SimpleDateFormat(formatDateTime,Locale.UK); } return sdf.format(value); } return value == null ? "" : value.toString(); }}
更多请参考:
http://www.cnblogs.com/wenjie123/archive/2015/07/13/4643305.html
阅读全文
1 0
- 实体类、实体类List↔JSON互转
- List转实体类
- 上传List集合 (List<实体类>转json)
- json 实体互转, list json互转 ,List<实体> 转List<Object> , List<Objcet> 转List<Map> map 转实体
- springmvc接收json串,转换为实体类List探索
- json <--->List集合,实体类 之间的相互转换
- gridview 绑定list<实体类>
- JSON字符串对应实体类
- java实体类转Json
- json快速生成实体类
- 实体类组装json上传
- List<?> 转换为 List<实体类>
- 实体类含有自身或者另一个实体时转json
- JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中
- 实体类
- 实体类
- 实体类
- 实体类
- 简单记录一下第一个JAVAWEB项目的过程
- java继承各个类构造器加载的顺序
- Git-暂存与提交(笔记)
- MATLAB 文件夹操作管理
- Stretch属性
- 实体类、实体类List↔JSON互转
- 5.S5PV210中看门狗定时器中断实验代码
- JS-多物体运动(所有物体做相同的运动)
- css中的浮动和定位
- 学习笔记:Python中的列表与元组
- ubuntu系统下的lnmp环境搭建
- tensorflow常用函数
- pop动画片段
- android Framework