public static void main(String[] args) { /*普通对象与json相互转换*/ User u = new User("miquan", "000"); //{"@type":"testjava.User","password":"000","userName":"miquan"} String jsonUser = JSON.toJSONString(u, SerializerFeature.WriteClassName); System.out.println(jsonUser); User user = JSON.parseObject(jsonUser, User.class); /*带集合的对象与json字符串相互转换*/ Listlist = new ArrayList (); list.add("miquan"); list.add("qiantu"); Download d = new Download(); d.setEmojiSetName("guoqiao"); d.setEmojiPathList(list); //{"@type":"testjava.Download","emojiPathList":["miquan","qiantu"],"emojiSetName":"guoqiao"} String jsonList = JSON.toJSONString(d, SerializerFeature.WriteClassName); System.out.println(jsonList); Download download = JSON.parseObject(jsonList, Download.class); /*json与List对象相互转换*/ List listUser = new ArrayList (); listUser.add(new User("liangguoqiao", "iloveyou")); listUser.add(new User("liangguoqiao", "iloveyou")); //[{"password":"iloveyou","userName":"liangguoqiao"}, //{"password":"iloveyou","userName":"liangguoqiao"}] String json = JSON.toJSONString(listUser); System.out.println(json); List users = JSON.parseArray(json, User.class); }
注意:1、
2、User和Download等实体类必须加入空的构造函数
3、转为JSON字符串的时候加上SerializerFeature.WriteClassName
4、坐等下班。。。
package com.yangshidesign.weixinface.bean;import java.util.List;public class Download { private String emojiSetName; /** 表情图片名字 */ private ListemojiNameList; public Download() { super(); } public String getEmojiSetName() { return emojiSetName; } public void setEmojiSetName(String emojiSetName) { this.emojiSetName = emojiSetName; } public List getEmojiNameList() { return emojiNameList; } public void setEmojiNameList(List emojiNameList) { this.emojiNameList = emojiNameList; }}
package testjava;public class User { private String userName; private String password; public User() { super(); } public User(String userName, String password) { super(); this.userName = userName; this.password = password; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}