第一步导入jar
jackson-annotations-2.6.0-xh.jar
jackson-core-2.6.0-xh.jar
jackson-databind-2.6.0-xh.jar
jackson-jr-all-2.4.3-xh.jar
第二:po层的封装
Userdao:-------------------------------------------------------------------
package com.jadl.po;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class User {
private String id; //标识
private String name; //姓名
private int age; //年龄
private double pay; //工资
private boolean valid; //是否有效
private char one; //一个字符
private Date birthday; //生日
private Link link; //联系方式,自定义
private Map map; //测试用
private List list; //测试用
private Set set; //测试用
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public double getPay()
{
return pay;
}
public void setPay(double pay)
{
this.pay = pay;
}
public boolean isValid()
{
return valid;
}
public void setValid(boolean valid)
{
this.valid = valid;
}
public char getOne()
{
return one;
}
public void setOne(char one)
{
this.one = one;
}
public Date getBirthday()
{
return birthday;
}
public void setBirthday(Date birthday)
{
this.birthday = birthday;
}
public Link getLink()
{
return link;
}
public void setLink(Link link)
{
this.link = link;
}
public Map getMap()
{
return map;
}
public void setMap(Map map)
{
this.map = map;
}
public List getList()
{
return list;
}
public void setList(List list)
{
this.list = list;
}
public Set getSet()
{
return set;
}
public void setSet(Set set)
{
this.set = set;
}
}
Linkpo---------------------------------------------------------------------------------------
package com.jadl.po;
public class Link {
private String phone; //移动电话
private String address; //地址
private String qq; //QQ
public String getPhone()
{
return phone;
}
public void setPhone(String phone)
{
this.phone = phone;
}
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address = address;
}
public String getQq()
{
return qq;
}
public void setQq(String qq)
{
this.qq = qq;
}
}
第三步测试代码:
package com.jadl.main;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jadl.po.Link;
import com.jadl.po.User;
public class JsonTest {
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
User user=new User();
user.setId("01");
user.setName("张三");
user.setAge(33);
user.setPay(6666.88);
user.setValid(true);
user.setOne('E');
user.setBirthday(new Date(20l*366*24*3600*1000)); //1990年
//--------------
Link link = new Link();
link.setAddress("河南省济源市");
link.setPhone("13899995555");
link.setQq("123456");
user.setLink(link);
//---------------
Map map=new HashMap();
map.put("aa", "this is aa");
map.put("bb", "this is bb");
map.put("cc", "this is cc");
user.setMap(map);
//----
List list=new ArrayList(){};
list.add("普洱");
list.add("大红袍");
user.setList(list);
//---------
Set set=new HashSet();
set.add("篮球");
set.add("足球");
set.add("乒乓球");
user.setSet(set);
//-----------
ObjectMapper mapper = new ObjectMapper(); //转换器
String json;
// 对象--json
//将对象转换成json
json = mapper.writeValueAsString(user);
System.out.println(json);
//测试02:json--map
Map m = mapper.readValue(json, Map.class); //json转换成map
System.out.println("pay:"+m.get("pay").getClass().getName()); //java.lang.Double
System.out.println("valid:"+m.get("valid").getClass().getName()); //java.lang.Boolean
System.out.println("birthday:"+m.get("birthday")); //java.lang.Long
System.out.println("link:"+m.get("link")); //java.util.LinkedHashMap
System.out.println("map:"+m.get("map")); //java.util.LinkedHashMap
System.out.println("list:"+m.get("list")); //java.util.ArrayList
System.out.println("set:"+m.get("set")); //java.util.ArrayList
//测试03:map--json
json=mapper.writeValueAsString(m); //map转json
System.out.println(json);
//测试04:json--对象
User u=mapper.readValue(json, User.class); //json转java对象。经测,转成对象后,一切恢复正常
System.out.println("pay:"+u.getPay());
System.out.println("valid:"+u.isValid());
System.out.println("birthday:"+u.getBirthday());
System.out.println("link:"+u.getLink());
System.out.println("map:"+u.getMap());
System.out.println("list:"+u.getList());
System.out.println("set:"+u.getSet());
//测试05:其他转换
System.out.println("其他转换 ------------------");
byte[] data=mapper.writeValueAsBytes(u);
for (int i = 0; i < data.length; i++) {
///System.out.println(data[i]);
}
}
}