转自:http://www.cnblogs.com/lee0oo0/archive/2012/08/23/2652751.html ,

Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。可以参考:

Jackson 框架,轻易转换JSON

首先需要下载包:jackson-databind-2.0.5.jar jackson-annotations-2.0.5.jar jackson-core-2.0.5.jar,网址在:http://wiki.fasterxml.com/JacksonDownload

custom.json:

{
"country":"USA",
"countryInfo":{"golden":40,"silver":23,"copper":33,"tank":1},
"countryDetail":[
{"id":"no","header":"号码","fieldIndex":"no","sortOrder":null,"printable":true},
{"id":"name","header":"姓名","fieldIndex":"name","sortOrder":null,"printable":true},
{"id":"total","header":"总成绩","fieldIndex":"total","sortOrder":null,"printable":true},
{"id":"detail","header":"详细信息","fieldIndex":"detail","sortOrder":null,"printable":true}
],
"orgood":true}

Java的Bean及解析:

 public class Bean {

     private String country;
private boolean orgood;
private Country countryInfo;
private CountryDetail[] countryDetail; public String getCountry() {
return country;
} public void setCountry(String country) {
this.country = country;
} public boolean isOrgood() {
return orgood;
} public void setOrgood(boolean orgood) {
this.orgood = orgood;
} public Country getCountryInfo() {
return countryInfo;
} public void setCountryInfo(Country countryInfo) {
this.countryInfo = countryInfo;
} public CountryDetail[] getCountryDetail() {
return countryDetail;
} public void setCountryDetail(CountryDetail[] countryDetail) {
this.countryDetail = countryDetail;
} public static class Country {
public String getGolden() {
return golden;
} public void setGolden(String golden) {
this.golden = golden;
} public String getSilver() {
return silver;
} public void setSilver(String silver) {
this.silver = silver;
} public String getCopper() {
return copper;
} public void setCopper(String copper) {
this.copper = copper;
} public String getTank() {
return tank;
} public void setTank(String tank) {
this.tank = tank;
} private String golden;
private String silver;
private String copper;
private String tank; } public static class CountryDetail {
public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getHeader() {
return header;
} public void setHeader(String header) {
this.header = header;
} public String getFieldIndex() {
return fieldIndex;
} public void setFieldIndex(String fieldIndex) {
this.fieldIndex = fieldIndex;
} public String getSortOrder() {
return sortOrder;
} public void setSortOrder(String sortOrder) {
this.sortOrder = sortOrder;
} public boolean isPrintable() {
return printable;
} public void setPrintable(boolean printable) {
this.printable = printable;
} private String id;
private String header;
private String fieldIndex;
private String sortOrder;
private boolean printable; } public static void main(String args[]) {
ObjectMapper mapper = new ObjectMapper();
try {
Bean bean = mapper.readValue(new File("custom.json"), Bean.class); // 读取
// System.out.println("Country:"+bean.getCountry());
System.out.println("CountryInfo:" + bean.getCountryInfo().getGolden());
System.out.println("CountryDetail:" + bean.getCountryDetail()[1].getHeader());
System.out.println("orgood:" + bean.isOrgood());
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

jacksonall的使用,解析json的更多相关文章

  1. Xamarin.Android下获取与解析JSON

    一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选择添加引用,引用System.Json.dll 二.同步请求 既然是跨平台,我们自然不能按照java下的 ...

  2. 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)

    在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...

  3. 阶段一:通过网络请求,获得并解析JSON数据(天气应用)

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 在上一篇阶段一:解析JSON中提到,最近在写一个很简单的天气预报应用.即使功能很简单,但我还是想把它做成一个相对完 ...

  4. 阶段一:解析JSON

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 最近学到解析JSON格式的网络数据,而作业也要求自己找一个天气预报的API地址,然后解析其中JSON格式的数据.可 ...

  5. C语言创建及解析Json的使用法则

    参考原文:http://blog.csdn.net/xukai871105/article/details/33013455 JSON(JavaScriptObject Notation)是一种轻量级 ...

  6. 不一样的dynamic解析json 万能方法

    写过javascript的人都知道js解析json 1:(JSON) 字符串转换为对象. var str = '{"name":"lsw","hobb ...

  7. C# 解析JSON的几种办法

    欲成为海洋大师,必知晓海中每一滴水的真名. 刚开始只是想找一个转换JSON数组的方法,结果在MSDN翻到一大把. 搜索过程中免不了碰到一大堆名词:WCF => DataContract => ...

  8. eval解析JSON中的注意点

       在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery ...

  9. C#解析json文件的方法

    C# 解析 json JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集. JSON采用完全独立于语言的 ...

  10. WP8解析JSON格式(使用DataContractJsonSerializer类)(推荐)

    DataContractJsonSerializer是.NET自带的类,在解析JSON格式的时候使用起来方便快捷,至于生成方面由于暂时没用到就没去看了.使用需要引用System.Runtime.Ser ...

随机推荐

  1. oracle在一个字符串中查找某个字符出现过几次

    SELECT LENGTH(REGEXP_REPLACE(REPLACE('123,45,6,5', ',', '@'),  '[^@]+',  '')) COUNT FROM DUAL; 返回结果为 ...

  2. VC中使用GetModuleFileName获取应用程序路径

      .\\与API函数GetModuleFileName获取应用程序目录有何不一样? 采用.\\也能获得应用程序目录,采用GetModuleFileName也能获得,二者有何不同? 一样!一个是相对路 ...

  3. BZOJ 1101 [POI2007]Zap(莫比乌斯反演)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1101 [题目大意] 求[1,n][1,m]内gcd=k的情况 [题解] 考虑求[1,n ...

  4. java list 的 四种遍历方式

    在java中遍历一个list对象的方法主要有以下四种: 1. For Loop —— 普通for循环 2. Advanced For Loop —— 高级for循环 3. Iterator Loop ...

  5. android技术牛人的博客[转]

    Android+JNI调用–文件操作 开发环境:Windows xp sp3 +MyEclipse 8.6+android2.3.3+jdk1.6+android-ndk-r6b JNI概述:     ...

  6. 极客Web前端开发资源大荟萃

    前端开发已经成为当前炙手可热的技术之中的一个.本周我们除了给大家带技术相关资讯,另一些技术人员经常使用的站点.希望大家不要错过我们本周的内容.原文来自:极客标签 为神马说敲代码是非常艰难的 程序猿 做 ...

  7. Core Data Stack学习笔记

    Entity Entities 实体->数据表一个实体可以表示一个数据模型 1> 通过图形化界面可以建立一个模型关系图,可以指定一对多,多对一,多对多的数据关系 -在数据库开发中,少用多对 ...

  8. Java RMI 简介及其优劣势总结

    今天,帮别人看UDAS配置问题时,看到采用的是RMI方式的调用,如:rmi://10.20.134.140:2299/DataServer,而且这个端口是被直接硬编码在UDAS的代码中的.既然看到了, ...

  9. 解决No Hibernate Session bound to thread, and configuration does not allow creat。。。

    applicationContext.xml配置 <?xml version="1.0" encoding="UTF-8"?> <beans ...

  10. Windows上右键git菜单出来的原因

    Windows上右键git菜单出来的原因 Git下载地址https://code.google.com/p/msysgit/downloads/list?q=full+installer+offici ...