- 浏览: 277683 次
文章分类
最新评论
-
guji528:
oracle的统计函数真的很强大
Oracle 使用LAG和LEAD函数统计 -
haiyangyiba:
受教了
No Dialect mapping for JDBC type: 3 -
elvishehai:
能不能给个完整点的例子呀,我一直都没有试成功过,
简单的使用jackson的annotation -
miaoyue:
如果我想把name属性转成注释之后,之前的注释还在怎么做?
PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码 -
ianl_zt:
以上方法只适合在hibernate2中使用,现在hiberna ...
Hibernate的批量更新和删除
http://jackson.codehaus.org/
lib:
jackson-core-asl-1.6.0.jar
jackson-mapper-asl-1.6.0.jar
心得:最方便的是Full Data Binding 方式,不用额外处理,但是POJO的属性名需要与JSON的变量名一一对应。对于需要做JSON变量名和POJO属性名转换的话,使用Tree Model。
Jackson提供了三种方式处理JSON
Streaming API
, 基于事件处理JSON,类似StAX API。性能最好,其它两种方法都是建立在它之上
Tree Model
提供了内建文档树方式来展现JSON,类似XML DOM。最灵活。
Data Binding
使用注释或者属性访问器JSON与POJOs之间转换。最方便。
以下是官方网站的例子
1.Full Data Bindaing(POJO) Example
{
"name" : { "first" : "Joe", "last" : "Sixpack" },
"gender" : "MALE",
"verified" : false,
"userImage" : "Rm9vYmFyIQ=="
}
public class User { public enum Gender { MALE, FEMALE }; public static class Name { private String _first, _last; public String getFirst() { return _first; } public String getLast() { return _last; } public void setFirst(String s) { _first = s; } public void setLast(String s) { _last = s; } } private Gender _gender; private Name _name; private boolean _isVerified; private byte[] _userImage; public Name getName() { return _name; } public boolean isVerified() { return _isVerified; } public Gender getGender() { return _gender; } public byte[] getUserImage() { return _userImage; } public void setName(Name n) { _name = n; } public void setVerified(boolean b) { _isVerified = b; } public void setGender(Gender g) { _gender = g; } public void setUserImage(byte[] b) { _userImage = b; } }
ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
User user = mapper.readValue(new File("user.json"), User.class);
mapper.writeValue(new File("user-modified.json"), user);
ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally User user = mapper.readValue(new File("user.json"), User.class); mapper.writeValue(new File("user-modified.json"), user);
2.Simple Data Binding Example
Map<String, Object> userData = mapper.readValue(new File("user.json"), Map.class);
userData = new HashMap<String, Object>();
Map<String, String> nameStruct = new HashMap<String, String>();
nameStruct.put("first", "Joe");
nameStruct.put("last", "Sixpack");
userData.put("name", nameStruct);
userData.put("gender", "MALE");
userData.put("verified", Boolean.FALSE);
userData.put("userImage", "Rm9vYmFyIQ==");
mapper.writeValue(new File("user-modified.json"), userData);
Concrete Java types that Jackson will use for simple data binding are:
JSON Type | Java Type |
object | LinkedHashMap<String,Object> |
array | ArrayList<Object> |
string | String |
number (no fraction) | Integer, Long or BigInteger (smallest applicable) |
number (fraction) | Double (configurable to use BigDecimal) |
true false | Boolean |
null | null |
3.The Model Example
ObjectMapper m = new ObjectMapper();
// can either use mapper.readTree(JsonParser), or bind to JsonNode
JsonNode rootNode = m.readValue(new File("user.json"), JsonNode.class);
// ensure that "last name" isn't "Xmler"; if is, change to "Jsoner"
JsonNode nameNode = rootNode.path("name");
String lastName = nameNode.path("last").getTextValue();
if ("xmler".equalsIgnoreCase(lastName)) {
((ObjectNode)nameNode).put("last", "Jsoner");
}
// and write it out:
m.writeValue(new File("user-modified.json"), rootNode);
发表评论
-
简单的使用jackson的annotation
2011-02-16 10:27 25282@JsonAutoDetect (class) 这是作用 ... -
Jackson 入门
2011-02-16 10:25 22030原文链接: http://jackson.codehaus. ... -
nexus-maven- repository-index.zip手动下载与设置
2010-04-16 14:46 12693问题描述: 在启动eclipse的时候,在maven控制 ... -
MyEclipse启动故障-Initializing Java Tooling
2010-04-16 14:43 5699最近安装新系统后,重新安装了JDK,然后启动以前安装的MyEc ... -
iframe跨域session丢失问题
2010-02-04 15:37 5550最近在做一个系统(A),需要在系统(A)中集成目前现存系统(B ... -
SSH常见问题及解决办法
2010-01-21 17:18 3825内容检索 1.警告: No configuratio ... -
SLF4J+logBack, 日志领域中的新秀
2009-04-25 13:57 3629Ceki Gülcü创造了日志领 ... -
struts2.1.6,spring2.5.6,hibernate3.3.1,annotations
2009-04-24 15:50 3116根据流程进行注意点的 ... -
用HttpClient来模拟浏览器GET POST
2009-01-09 11:37 2274一般的情况下我们都是使用IE或者Navigator浏览器来访问 ... -
java输出扭曲验证码
2008-11-07 16:43 5698import java.awt.Color; import j ... -
getOutputStream() has already been called for this
2008-11-07 16:30 2691有一个使用SerlvetResponse输出图像的例子,代码如 ... -
深入探索 高效的Java异常处理框架【转自www.bitsCN.com】
2008-11-03 11:58 2841摘要:本文从Java异常最基本的概念、语法开始讲述了Java异 ... -
Spring+Hibernate+Struts2整合文档
2008-11-03 10:44 3816一、 Spring+Hibernate整合: Spring整 ... -
Tomcat启动分析
2008-10-29 11:05 30161 - Tomcat Server的组成部 ... -
tomcat集群和负载均衡
2008-10-29 11:00 3491(一)环境说明(1)服务器 ... -
Log4j配置文件
2008-10-29 10:58 2310#配置根Logger,其语法为:log4j.rootLog ... -
c3p0连接池说明
2008-09-18 11:57 3225<c3p0-config> <def ... -
利用xfire编写webservice
2008-08-15 10:19 37821. xfire + spring 发布webserv ... -
struts + spring + xfire (组合)
2008-08-15 10:14 3921一般情况下, spring+ struts的组合,struts ... -
无所不能的“蚂蚁”--Ant(四)
2008-08-06 20:02 2269五.使用Ant运行本地程序 1.使用Ant运行windows的 ...
相关推荐
一、Jackson简介 Jackson是Java中的一个开源库,由 FasterXML 维护,主要用于处理JSON数据。它提供了多种模块,如`core`、`mapper`、`annotations`等,以满足不同场景下的需求。其中,`core`模块提供了基本的JSON...
1. Jackson简介: Jackson是Java中最流行的JSON处理库之一,由FasterXML公司维护。它提供了一套完整的API来处理JSON,包括读取、写入、映射到Java对象等。Jackson分为多个模块,如jackson-databind、jackson-core和...
### Jackson电动力学习题答案详解 #### 一、Jackson电动力学概述 《Classical Electrodynamics》(经典电动力学)第三版是由J.D. Jackson编写的经典教材,在学术界享有极高的声誉。该书内容详尽、研究深入且备受...
1. **Jackson库简介**: Jackson是一个高性能的库,用于在Java对象和JSON数据之间进行映射。它的设计目标是提供快速、高效的JSON处理能力,并且易于使用。Jackson提供了多种模块,包括核心的`jackson-databind`模块...
**Jackson-databind简介** Jackson-databind是 FasterXML 项目的一部分,由Tatu Saloranta开发。这个库使得Java对象可以直接转换为JSON格式,并且可以从JSON字符串中恢复为Java对象。通过使用Jackson-databind,...
一、Jackson库简介 Jackson是由 FasterXML 组织开发的一套开源JSON处理库,包括`jackson-core`、`jackson-databind`和`jackson-annotations`三大模块。`jackson-core`作为基础模块,提供了基本的JSON流解析和生成API...
一、Jackson简介 Jackson是由FasterXML团队开发的开源库,它的全名是com.fasterxml.jackson.databind,是Java应用程序处理JSON的首选工具之一。Jackson库包含了多个模块,如jackson-databind、jackson-core和jackson...
**Jackson简介** Jackson是另一个流行的数据绑定库,主要用于处理JSON。Jackson提供了一套API,使得JSON序列化和反序列化变得简单。它支持多种使用方式,包括基于注解的、基于配置的以及基于流的API。Jackson的`@...
1. Jackson简介: Jackson是FasterXML公司推出的一个高性能的JSON处理库,由一系列相互配合的模块组成。它提供了多种方式来处理JSON数据,包括流式API、树模型API和注解驱动的对象映射。`jackson-mapper-asl`模块是...
一、Jackson库简介 Jackson库的核心组件包括: 1. `Jackson-databind`:提供将Java对象映射到JSON和从JSON反序列化回Java对象的功能。 2. `Jackson-core`:基础解析器和生成器,支持JSON流处理。 3. `Jackson-...
1. Jackson简介 Jackson是由FasterXML团队开发的一个开源项目,其主要目标是提供高性能、高效率的JSON处理功能。Jackson分为多个模块,如core、databind和jackson-dataformat-xml等,其中最常用的是jackson-databind...
1. Jackson简介: Jackson是由 FasterXML 组织开发的开源库,它提供了多种API,如 ObjectMapper、JsonParser 和 JsonGenerator,用于处理JSON数据。Jackson 2.9.3是该库的一个稳定版本,包含了许多改进和优化。 2. ...
### Jackson库简介 Jackson是由FasterXML公司开发的开源项目,它在Java社区中被广泛使用,因其高效和强大的功能而备受推崇。Jackson库包括多个模块,如`jackson-databind`、`jackson-core`和`jackson-annotations`,...
一、Jackson XTream简介 Jackson XTream,也称为Jackson DataBind for XML,是Jackson框架的一个子项目,旨在为XML提供类似于JSON解析的高效、灵活的API。通过使用XTream,开发者可以方便地将XML数据转换为Java对象...
1. **Jackson简介**:Jackson是一个高效的、开源的Java库,用于处理JSON数据。它提供了多个模块,包括流式API、树模型API以及数据绑定API。 2. **数据绑定**:Jackson的核心功能是数据绑定,即把JSON字符串转换为...
JSON简介 JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。 JSON与 XML具有相同的特性,例如易于人编写和阅读,易于机器生成和解析。但是 JSON比XML数据传输的有效性要高出很多。 JSON完全...
在JSON序列化和反序列化领域,Jackson库是广泛使用的工具,然而,XML格式的数据在某些场景下仍然是必不可少的。因此,本文将深入探讨如何在Micronaut框架中集成Jackson XML,以实现对XML数据的有效处理。 一、...
jackson简介:Java生态圈中有很多处理JSON和XML格式化的类库,Jackson是其中比较著名的一个。虽然JDK自带了XML处理类库,但是相对来说比较低级,使用本文介绍的Jackson等高级类库处理起来会方便很多。
1. **Jackson库简介** Jackson是Java领域最流行的JSON处理库之一,由 FasterXML 维护。它包括三个主要模块:`jackson-core`、`jackson-annotations` 和 `jackson-databind`。 2. **jackson-databind** - `jackson...