Java对象和集合与Json之间的互相转换
2017-03-14 17:46
686 查看
http://blog.csdn.net/gaohuanjie/article/details/40779255
主题 JSON Java总结一下Java对象和集合与Json之间的互相转换:
1、创建的User类:
package com.ghj.packageofdomain; public class User { private int id; private String name; private String gender; public User() { } public User(int id, String name, String gender) { this.id = id; this.name = name; this.gender = gender; } public int getId() { return id; } 4000 public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { return "id=" + id + ",name=" + name + ",gender=" + gender; } }
2、Java对象和集合与Json之间的互相转换:
i、Java对象与Json之间的互相转换:
package com.ghj.packageoftest; import net.sf.json.JSONObject; import com.ghj.packageofdomain.User; public class Test{ public static void main(String[] args) { System.out.println(objectToJsonString()); jsonStringToObject(objectToJsonString()); } /** * 将Java对象转换为Json字符串 * * @author 高焕杰 */ static String objectToJsonString(){ JSONObject jsonObject = JSONObject.fromObject(new User(1, "张三", "男")); return jsonObject.toString(); } /** * 将Json字符串转换为Java对象 * * @author 高焕杰 */ static void jsonStringToObject(String jsonString){ JSONObject jsonObject = JSONObject.fromObject(jsonString); User user = (User)JSONObject.toBean(jsonObject, User.class); System.out.println(user); } }
ii、Java集合与Json之间的互相转换:
package com.ghj.packageoftest; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; import com.ghj.packageofdomain.User; public class Test{ public static void main(String[] args) { System.out.println(collectionToJsonString()); jsonStringToCollection(collectionToJsonString()); } /** * 将Java集合转换为Json字符串 * * @author 高焕杰 */ static String collectionToJsonString(){ List<User> userList = new ArrayList<User>(); userList.add(new User(1, "张三", "男")); userList.add(new User(2, "李四", "女")); userList.add(new User(3, "王五", "男")); JSONArray jsonArray = JSONArray.fromObject(userList); return jsonArray.toString(); } /** * 将Json字符串转换为Java集合 * * @author 高焕杰 */ static void jsonStringToCollection(String jsonString){ JSONArray jsonArray = JSONArray.fromObject(jsonString); @SuppressWarnings("unchecked") List<User> userList = (List<User>)JSONArray.toCollection(jsonArray, User.class); for (User user : userList) { System.err.println(user); } } }
注意:
1、上面User类不仅有有参构造函数还有无参构造函数,有人可能会问为什么要有无参的构造函数呢?呵呵呵,为了方面构造User实例,添加了有参数的构造函数,可是正因为有了这个构造函数才必须要添加无参构造函数,否则会出现下面异常:
如果不嫌构造User实例繁杂完全可以去掉这两个构造函数的——其实这种情况下无参构造函数还是存在的,呵呵呵,总之一句话要实现Json字符串转化为Java实例或集合则相关类中要有无参的构造函数。
2、 Java对象和集合与Json之间的互相转换需要借助相应的jar包实现,这些jar包可以在Demo中获取到
相关文章推荐
- Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换
- java对象和json对象之间互相转换
- Jackson框架下,Java对象与JSON之间的互相转换
- java对象和json对象之间互相转换
- java对象和json对象之间互相转换(上)
- java对象和json对象之间互相转换
- java对象和json对象之间互相转换
- java对象和json对象之间互相转换
- json:java对象和json对象之间的互相转换
- (net.sf.json) java对象和json对象之间互相转换
- jsontools实现java对象与json值之间互相转换
- java对象和json对象之间互相转换
- java对象和json对象之间互相转换例子
- java对象与json对象之间互相转换实现方法示例
- jsontools实现java对象与json值之间互相转换
- java对象和json对象之间互相转换
- java对象和json对象之间互相转换
- java对象和json对象之间互相转换
- java对象和json对象之间互相转换
- java对象和json对象之间互相转换