转自: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. npm note

    npm docs 设置镜像站 因为npmjs的官方网站,总会下载比较慢或打不开,所以通常需要设置一下镜像站来更好的安装npm库 npm install --registry http://regist ...

  2. java 如何得到ISO 8601 时间格式

    http://blog.csdn.net/brightleo/article/details/7457004 public class DateUtil { public static String  ...

  3. jQeury学习笔记

    jQuery 语法: 核心语法: $(selector).action() 美元符号定义 jQuery 选择符(selector)"查询"和"查找" HTML ...

  4. UICollectionView在Swift3.0中的用法

    UICollectionView在Swift3.0中的用法 UICollectionView的初始化跟OC中是相似的,创建 GameView 集成自 UICollectionView .注意不同于UI ...

  5. 原生javascript实现老.虎机抽奖点名demo源码思路解析

    想着使用原生Javascript做一个随机点名的小应用, 也可以做抽奖使用. html简单化,人名单可以通过js生成并处理. 可以非常随意的添加修改人名字. 应用想带点特效,比如老.虎机转动的特效. ...

  6. C++ const 限定符

    C++ const 限定符 作用:把一个对象转换成一个常量 用法:const type name = value; 性质:1. 定义时必须初始化,定义后不能被修改.2. 类中的const成员变量必须通 ...

  7. C/C++指针和数组的关系

    首先一个列子说明指针和数组真的不是一回事: 浅谈C中的指针和数组(一) 如果用硬是把数组和指针放在一个,一个放声明里一个放定义中,这里就能看到指针和数组名是不同的.这篇文章从符号表的角度分析一下指针和 ...

  8. jquery+easy ui 实现表格列头筛选

    示例代码 1.筛选的下拉 <a href="javascript:void(0)" id="filterStatus" class="easyu ...

  9. python10min系列之面试题解析:python实现tail -f功能

    同步发布在github上,跪求star 这篇文章最初是因为reboot的群里,有人去面试,笔试题有这个题,不知道怎么做,什么思路,就发群里大家讨论 我想了一下,简单说一下我的想法吧,当然,也有很好用的 ...

  10. Dokcer 组成原理简介

    首先来张图了解Docker的组成 重要 Docker在启动容器的时候,需要创建文件系统,为rootfs提供挂载点.最初Docker仅能在支持Aufs文件系统的Linux发行版上运行,但是由于Aufs未 ...