jacksonall的使用,解析json
转自: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的更多相关文章
- Xamarin.Android下获取与解析JSON
一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选择添加引用,引用System.Json.dll 二.同步请求 既然是跨平台,我们自然不能按照java下的 ...
- 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)
在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...
- 阶段一:通过网络请求,获得并解析JSON数据(天气应用)
“阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 在上一篇阶段一:解析JSON中提到,最近在写一个很简单的天气预报应用.即使功能很简单,但我还是想把它做成一个相对完 ...
- 阶段一:解析JSON
“阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 最近学到解析JSON格式的网络数据,而作业也要求自己找一个天气预报的API地址,然后解析其中JSON格式的数据.可 ...
- C语言创建及解析Json的使用法则
参考原文:http://blog.csdn.net/xukai871105/article/details/33013455 JSON(JavaScriptObject Notation)是一种轻量级 ...
- 不一样的dynamic解析json 万能方法
写过javascript的人都知道js解析json 1:(JSON) 字符串转换为对象. var str = '{"name":"lsw","hobb ...
- C# 解析JSON的几种办法
欲成为海洋大师,必知晓海中每一滴水的真名. 刚开始只是想找一个转换JSON数组的方法,结果在MSDN翻到一大把. 搜索过程中免不了碰到一大堆名词:WCF => DataContract => ...
- eval解析JSON中的注意点
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery ...
- C#解析json文件的方法
C# 解析 json JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集. JSON采用完全独立于语言的 ...
- WP8解析JSON格式(使用DataContractJsonSerializer类)(推荐)
DataContractJsonSerializer是.NET自带的类,在解析JSON格式的时候使用起来方便快捷,至于生成方面由于暂时没用到就没去看了.使用需要引用System.Runtime.Ser ...
随机推荐
- 《转》JAVA并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...
- [问题解决] File "/struts-tags" not found
错误:org.apache.jasper.JasperException: File "/struts-tags" not found 发生场景:tomcat服务器 解决方案:将t ...
- qcow2、raw、vmdk等镜像格式
转自 http://www.prajnagarden.com/?p=248 http://blog.csdn.net/starshine/article/details/8179483 转者言:对pr ...
- cocos2dx 字体
有些时候需要在界面上显示些文字,自然涉及到字体的问题 显示文字使用CCLabelTTF即可,创建方法是 CCLabelTTF(const char* text, const char* font, i ...
- getDeclaredConstructor()与getConstructor的差别
首先看getDeclaredConstructor(Class<?>... parameterTypes) 这种方法会返回制定參数类型的全部构造器,包含public的和非public的, ...
- ajax post传值
一.字符串 $.ajax({ type: "POST", data: {"ID&quo ...
- CSS hank
CSS hank CSS hank是为了让CSS代码兼容不同浏览器,也可以通过CSS hank为不同的浏览器设置不同的CSS样式. CSS hank的3种表现形式: 类内部hank IE6能识别下划线 ...
- C++运算符详解问题详解
有关C++运算符的细节,先来看一个题目: int main() { int a[] = {2, 4, 6, 8, 10}, *p, **k; p = a; k = &p; printf(&qu ...
- 关于LZO和LZOP
LZO 是一个适合实时解压.压缩的压缩库 LZOP 基于LZO库的压缩解压工具 PS:有了压缩解压库LZO,还不能直接操作文件压缩解压,需要LZOP 下载的话直接google吧~~~
- 一周学会Mootools 1.4中文教程:序论
刚才发了几篇Mootools(以后直接简称Moo或Mt,看到这两个名字的时候不要感到奇怪),有一位热心的朋友"追杀"告诉我说现在已经出到1.4了,就不要再纠结于1.2了,想象一下有 ...