首页 / JSON / 使用jackson解析JSON数据
使用jackson解析JSON数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用jackson解析JSON数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3801字,纯文字阅读大概需要6分钟。
内容图文
本文介绍使用jackson来对json数据进行解析操作
首先,需要去官网下载jackson,本文使用的是(jackson-all-1.9.11.jar)
主要通过ObjectMapper对json进行处理
1 package com.whroid.java.json; 2 3 import java.io.IOException; 4 5 6 import org.codehaus.jackson.JsonFactory; 7 import org.codehaus.jackson.JsonGenerationException; 8 import org.codehaus.jackson.JsonParseException; 9 import org.codehaus.jackson.map.JsonMappingException; 10 import org.codehaus.jackson.map.ObjectMapper; 11 import org.codehaus.jackson.map.SerializationConfig; 12 13 14 public class JacksonUtil { 15 16 ObjectMapper mObjectMapper; 17 JsonFactory mJsonFactory; 18 static JacksonUtil mJacksonUtil; 19 public static JacksonUtil getInstance() 20 { 21 if(mJacksonUtil == null) 22 { 23 mJacksonUtil = new JacksonUtil(); 24 } 25return mJacksonUtil; 26 } 27private JacksonUtil() 28 { 29 mObjectMapper = new ObjectMapper(); 30 mObjectMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, false);//(禁止SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS)31 mJsonFactory = mObjectMapper.getJsonFactory(); 32 } 333435/**36 * 将json字符串数据,转换成cls类实例。需要保证cls类中的属性和json中相对应,并且cls中必须有相应的getter()/setter()方法 37 * @param json 38 * @param cls 39 * @return40 * @throws JsonParseException 41 * @throws IOException 42*/43public <T extends Object> T jsonToObject(String json,Class<T> cls) throws JsonParseException, IOException 44 { 45return mObjectMapper.readValue(json, cls); 46 } 47/**48 * 将实例对象,转化成json字符串。需要保证cls类中的属性和json中相对应,并且cls中必须有相应的getter()/setter()方法 49 * @param obj 50 * @return51 * @throws JsonGenerationException 52 * @throws JsonMappingException 53 * @throws IOException 54*/55public String objectToJson(Object obj) throws JsonGenerationException, JsonMappingException, IOException 56 { 57return mObjectMapper.writeValueAsString(obj); 58 } 59 }
与json转化的对象类JSONBean,需要添加getter()/setter()方法
1 package com.whroid.java.json; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 7 public class JSONBean { 8 9 private String name = "name"; 10privateint id = 1; 11private List<String> list = new ArrayList<String>(); 12privateboolean b; 13 SubBean subBean = new SubBean(); 14public String getName() { 15return name; 16 } 17publicvoid setName(String name) { 18this.name = name; 19 } 2021publicint getId() { 22return id; 23 } 24publicvoid setId(int id) { 25this.id = id; 26 } 2728public List<String> getList() { 29return list; 30 } 31publicvoid setList(List<String> list) { 32this.list = list; 33 } 34publicboolean isB() { 35return b; 36 } 37publicvoid setB(boolean b) { 38this.b = b; 39 } 40public SubBean getSubBean() { 41return subBean; 42 } 43publicvoid setSubBean(SubBean subBean) { 44this.subBean = subBean; 45 } 46 @Override 47public String toString() { 48return "JSONBean [name=" + name + ", id=" + id + ", list=" + list 49 + ", b=" + b + ", subBean=" + subBean + "]"; 50 } 515253} 54class SubBean{ 55 String subname = "subname"; 5657public String getSubname() { 58return subname; 59 } 6061publicvoid setSubname(String subname) { 62this.subname = subname; 63 } 6465 @Override 66public String toString() { 67return "SubBean [subname=" + subname + "]"; 68 } 6970 }
调用
1 public static void main(String[] args) { 2 3 JSONBean bean = new JSONBean(); 4 String jackson = null; 5try { 6 jackson = JacksonUtil.getInstance().objectToJson(bean); 7 System.out.println("jackson:"+jackson); 8 9 bean = JacksonUtil.getInstance().jsonToObject(jackson, JSONBean.class); 10 System.out.println("bean:"+bean); 11 } catch (Exception e) { 12 e.printStackTrace(); 13 } 1415 }
返回:
jackson:{"name":"name","id":1,"list":[],"b":false,"subBean":{"subname":"subname"}}
//使用上面那段json解析后的对象
bean:JSONBean [name=name, id=1, list=[], b=false,
subBean=SubBean [subname=subname]]
原文:http://www.cnblogs.com/whroid/p/3576904.html
内容总结
以上是互联网集市为您收集整理的使用jackson解析JSON数据全部内容,希望文章能够帮你解决使用jackson解析JSON数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。