查看原文教程:http://www.ibloger.net/article/275.html

Json经常使用的类库例如以下

Jackson:http://jackson.codehaus.org/

JSON-lib:http://json-lib.sourceforge.net/

Gson:http://code.google.com/p/google-gson/

Jackson能够轻松的将Java对象转换成json对象和xml文档。相同也能够将json、xml转换成Java对象。

不仅限于对java对象。对于Map、List、Array相同有效。

JsonLib的教程參考之前写过的文章http://blog.csdn.net/xiaokui_wingfly/article/details/39890969

或其它朋友的文章:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html

XStream : http://blog.csdn.net/xiaokui_wingfly/article/details/46470145

一、准备工作

1、 下载依赖库jar包

Jackson的jar官方下载地址:http://wiki.fasterxml.com/JacksonDownload

然后在project中导入这个jar包就可以開始工作

官方演示样例:http://wiki.fasterxml.com/JacksonInFiveMinutes

假设你须要转换xml,那么还须要stax2-api.jar

:下面我的全部演示样例中省略getter和setter方法,请自行加入

演示样例1:一个简单的Json和JavaBean之间的转换

/**
* JavaBean/Map/List/Array互相转换JSON
*/
public static void main(String[] args) {
ObjectMapper objectMapper = new ObjectMapper();
User user = new User();
user.setAddress("中国河南省");
user.setEmail("xiaokui_wingfly@sina.com.cn");
user.setId(1);
user.setName("X-rapido");
user.setBirthday(new Birthday("2015-08-06")); List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c"); Map<String, Object> map = new HashMap<String, Object>();
map.put("a", "1");
map.put("b", "2");
map.put("c", "3");
map.put("list", list); String []sz = {"a","b","c"}; try {
System.out.println(objectMapper.writeValueAsString(user));
System.out.println(objectMapper.writeValueAsString(list));
System.out.println(objectMapper.writeValueAsString(map));
System.out.println(objectMapper.writeValueAsString(sz)); String s = "{\"name\":\"X-rapido\"}";
// Json转换JavaBean
User a = objectMapper.readValue(s, User.class);
System.out.println(a.getName()); // JavaBean转换Json
System.out.println(objectMapper.writeValueAsString(a)); } catch (IOException e) {
e.printStackTrace();
}
}
输出打印:
{"id":1,"name":"X-rapido","email":"xiaokui_wingfly@sina.com.cn","address":"中国河南省","birthday":{"birthday":"2015-08-06"}}
["a","b","c"]
{"b":"2","c":"3","a":"1","list":["a","b","c"]}
["a","b","c"]
X-rapido
{"id":0,"name":"X-rapido","email":null,"address":null,"birthday":null}

对于怎样与xml进行交互和JsonGenerator类的使用方法还有各个write、writeObject方法參考网友文章http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html 不再罗嗦了。

Jackson 教程演示样例的更多相关文章

  1. android listview综合使用演示样例_结合数据库操作和listitem单击长按等事件处理

    本演示样例说明: 1.自己定义listview条目样式,自己定义listview显示列数的多少,灵活与数据库中字段绑定. 2.实现对DB的增删改查,而且操作后listview自己主动刷新. 3.响应用 ...

  2. C#开发Unity游戏教程循环遍历做出推断及Unity游戏演示样例

    C#开发Unity游戏教程循环遍历做出推断及Unity游戏演示样例 Unity中循环遍历每一个数据,并做出推断 非常多时候.游戏在玩家做出推断以后.游戏程序会遍历玩家身上大量的所需数据,然后做出推断. ...

  3. WebGL自学教程——WebGL演示样例:開始

    最终開始WebGL的演示样例了,...... 開始 使用WebGL的步骤,非常easy: 1. 获得WebGL的渲染环境(也叫渲染上下文). 2. 发挥你的想象力,利用<WebGL參考手冊> ...

  4. ArcGIS教程:Geostatistical Analyst 应用演示样例

    Geostatistical Analyst 满足多种不同应用的需求. 下面是 Geostatistical Analyst 的一小部分应用演示样例. 探索性空间数据分析 Geostatistical ...

  5. 构造Scala开发环境并创建ApiDemos演示样例项目

    从2011年開始写Android ApiDemos 以来.Android的版本号也更新了非常多,眼下的版本号已经是4.04. ApiDemos中的样例也添加了不少,有必要更新Android ApiDe ...

  6. 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture)

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  7. 最简单的视音频播放演示样例8:DirectSound播放PCM

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  8. SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)

    做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...

  9. 最简单的视音频播放演示样例3:Direct3D播放YUV,RGB(通过Surface)

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

随机推荐

  1. js数据结构之列表的详细实现方法

    * 列表用于存放数据量较少的数据结构* 当数据量较大时,不需要对其进行查找.排序的情况下,使用列表也比较方便. 本数据结构在node环境下运行,需要对node有个基本是了解. 1. listSize: ...

  2. Python基础笔记(三)

    1. 循环与流程控制 (1) for myList1 = ["A", "B", "C", "D"] # 正序遍历 for ...

  3. bzoj5293: [Bjoi2018]求和

    题目链接 bzoj5293: [Bjoi2018]求和 题解 暴力 对于lca为1的好坑啊.... 代码 #include<cmath> #include<cstdio> #i ...

  4. Codeforces.666A.Reberland Linguistics(DP)

    题目链接 \(Description\) 给定串s,其由一个基本串后加任意多个长度为2或3的后缀串构成,要求基本串长度>4且相邻后缀串不相同.在基本串任意确定的情况下,求所有可能的后缀串. \( ...

  5. BZOJ4280 : [ONTAK2015]Stumilowy sad

    线段树每个区间维护上下界以及要整体增加的标记即可,时间复杂度$O(m\log n)$. #include<cstdio> #define inf 1500000000 int n,m,op ...

  6. 【转】NHibernate对象以及状态说明

    对象 ISessionFactory (NHibernate.ISessionFactory) 针对单个数据库映射关系经过编译后的内存镜像,是线程安全的(不可变). 它是生成ISession的工厂,本 ...

  7. httpclient的并发连接问题

    昨天的搜索系统又出状况了,几个库同时重建索引变得死慢.经过一个上午的复现分析,确定问题出现httpclient的使用上(我使用的是3.1这个被广泛使用的遗留版本).搜索系统在重建索引时,是并发多个线程 ...

  8. 简单的抖动运动 主要利用offset left 和 setTimeout

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  9. MikroTik RouterOS 5.x破解工具HunterTik

    HunterTik目前网络上流传的版本大概就两个版本2.3.1和2.3.1.1,其实效果基本一致,都是不能破解高版本的RouterOS,比如6.6以后的版本就不行了. 一.安装: 一路回车! 二.可以 ...

  10. 多个RS-485设备怎么连接到一台电脑上?可以设置地址,有协议

    计算机都是RS232的,所以要给计算机串口配一个232/485转换器,然后给所有485设备设置一个地址. 计算机用查询方式,根据设备地址查询指定设备. 比如,计算机发送5个自节 01 03 04 FF ...