jackson简单用法总结

个人总结的jackson简单用法,希望对大家有多帮助!xml解析失败,若有朋友看到万望指点一二!

引入相关jar包,本例中用的是jackson-all-1.7.6.jar

相关代码下载链接:http://download.csdn.net/detail/jtianlin/4755565

一个简单的bean类:

package com.Jtianlin.test;

public class User {

 private String username;
 private Integer age;
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public Integer getAge() {
  return age;
 }
 public void setAge(Integer age) {
  this.age = age;
 }
 
}

 

java对象到json字符串:

package com.Jtianlin.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.codehaus.jackson.map.ObjectMapper;

public class BeanToJson {

 public static void main(String[] args) throws Exception {
  
  //将对象转换成json字符串
  User user = new User();
  user.setAge(10);
  user.setUsername("jzx");
  ObjectMapper objectMapper = new ObjectMapper();
  String userJson = objectMapper.writeValueAsString(user);
  System.out.println(userJson);
  //打印:{"username":"jzx","age":10}
  
  //将list集合对象转换成json字符串
  User user1 = new User();
  user1.setAge(11);
  user1.setUsername("sss");
  User user2 = new User();
  user2.setAge(12);
  user2.setUsername("hsj");
  List<User> userList = new ArrayList<User>();
  userList.add(user1);
  userList.add(user2);
  String userListJson = objectMapper.writeValueAsString(userList);
  System.out.println(userListJson);
  //打印结果:[{"username":"sss","age":11},{"username":"hsj","age":12}]
  
  //将map集合转换成json字符串。
  Map<String,User> userMap = new HashMap<String,User>();
  userMap.put("user1", user1);
  userMap.put("user2", user2);
  String userMapJson  = objectMapper.writeValueAsString(userMap);
  System.out.println(userMapJson);
  //打印结果:{"user2":{"username":"hsj","age":12},"user1":{"username":"sss","age":11}}

 }
}

 

一个含java对象集合变量的类,用于json字符串数组到对象集合:

 package com.Jtianlin.test;

import java.util.List;

public class ListBean {

 List<User> userList;

 public List<User> getUserList() {
  return userList;
 }

 public void setUserList(List<User> userList) {
  this.userList = userList;
 }
 }

 

package com.Jtianlin.test;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

public class JsonToBeans {
 
 public static void main(String[] args) throws Exception {
  
  //将json字符串转换成java对象
  String userJson = "{\"username\":\"jzx\",\"age\":10}";
  ObjectMapper objectMapper = new ObjectMapper();
  User user = objectMapper.readValue(userJson,User.class);
  System.out.println(user+":"+user.getUsername()+","+ user.getAge());
  //打印结果:com.Jtianlin.test.User@c2a132:jzx,10
  
  //将json字符串数组转换成java对象list集合。直接转换成list集合较为复杂,本例通过一个过渡对象
  //该对象里面存有一个list的java对象集合。通过转换成对象来实现集合对象的转换。
  String userListJson = "{\"userList\":[{\"username\":\"sss\",\"age\":11},{\"username\":\"hsj\",\"age\":12}]}";
  ListBean listBeans = objectMapper.readValue(userListJson, ListBean.class);
     System.out.println(listBeans.getUserList());
     //打印结果:[com.Jtianlin.test.User@1e0bc08, com.Jtianlin.test.User@158b649]
    
     //将json字符串转换成map集合,可以通过键来取得值。
     String mapJson = "{\"username\":\"hsj\",\"age\":12}";
     Map userMap = objectMapper.readValue(mapJson, Map.class);
     System.out.println(userMap+":" + userMap.get("username")+","+userMap.get("age") );
     //打印结果:{username=hsj, age=12}:hsj,12
    
  //将json字符串数组转换成Map的list集合。
  String json ="[{\"username\":\"sss\",\"age\":11},{\"username\":\"hsj\",\"age\":12}]}";
  List<Map> list = objectMapper.readValue(json, List.class); 
  System.out.println(list.get(0).get("username"));
  //打印结果:sss
 }

}

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

Jtianlin

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值