- 浏览: 273406 次
文章分类
最新评论
-
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 25210@JsonAutoDetect (class) 这是作用 ... -
Jackson 入门
2011-02-16 10:25 21987原文链接: http://jackson.codehaus. ... -
nexus-maven- repository-index.zip手动下载与设置
2010-04-16 14:46 12664问题描述: 在启动eclipse的时候,在maven控制 ... -
MyEclipse启动故障-Initializing Java Tooling
2010-04-16 14:43 5636最近安装新系统后,重新安装了JDK,然后启动以前安装的MyEc ... -
iframe跨域session丢失问题
2010-02-04 15:37 5514最近在做一个系统(A),需要在系统(A)中集成目前现存系统(B ... -
SSH常见问题及解决办法
2010-01-21 17:18 3789内容检索 1.警告: No configuratio ... -
SLF4J+logBack, 日志领域中的新秀
2009-04-25 13:57 3586Ceki Gülcü创造了日志领 ... -
struts2.1.6,spring2.5.6,hibernate3.3.1,annotations
2009-04-24 15:50 3064根据流程进行注意点的 ... -
用HttpClient来模拟浏览器GET POST
2009-01-09 11:37 2210一般的情况下我们都是使用IE或者Navigator浏览器来访问 ... -
java输出扭曲验证码
2008-11-07 16:43 5624import java.awt.Color; import j ... -
getOutputStream() has already been called for this
2008-11-07 16:30 2658有一个使用SerlvetResponse输出图像的例子,代码如 ... -
深入探索 高效的Java异常处理框架【转自www.bitsCN.com】
2008-11-03 11:58 2763摘要:本文从Java异常最基本的概念、语法开始讲述了Java异 ... -
Spring+Hibernate+Struts2整合文档
2008-11-03 10:44 3746一、 Spring+Hibernate整合: Spring整 ... -
Tomcat启动分析
2008-10-29 11:05 29781 - Tomcat Server的组成部 ... -
tomcat集群和负载均衡
2008-10-29 11:00 3457(一)环境说明(1)服务器 ... -
Log4j配置文件
2008-10-29 10:58 2271#配置根Logger,其语法为:log4j.rootLog ... -
c3p0连接池说明
2008-09-18 11:57 3153<c3p0-config> <def ... -
利用xfire编写webservice
2008-08-15 10:19 37121. xfire + spring 发布webserv ... -
struts + spring + xfire (组合)
2008-08-15 10:14 3886一般情况下, spring+ struts的组合,struts ... -
无所不能的“蚂蚁”--Ant(四)
2008-08-06 20:02 2230五.使用Ant运行本地程序 1.使用Ant运行windows的 ...
相关推荐
JSON简介 JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。 JSON与 XML具有相同的特性,例如易于人编写和阅读,易于机器生成和解析。但是 JSON比XML数据传输的有效性要高出很多。 JSON完全...
jackson简介:Java生态圈中有很多处理JSON和XML格式化的类库,Jackson是其中比较著名的一个。虽然JDK自带了XML处理类库,但是相对来说比较低级,使用本文介绍的Jackson等高级类库处理起来会方便很多。
Visio 2010中涉及到的改进的功能或者新的功能的简介
使用JSONArray必须的几个包 1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging...
简介: 内容介绍: Wicked WordPress Themes is a step-by-step guide to creating beautiful themes for the world's most popular CMS, WordPress. By following the book's advice, readers can produce ...
本项目为JNDI注入利用工具,生成JNDI连接并启动初始化相关服务,可用于Fastjson,Jackson等相关突破的验证。 本项目是基于welk1n的 ,在此项目的基础服务框架上,重新编写了攻击利用代码,支持更多更强大的功能,并...
27.1.Jackson 27.2.GSON 27.3.JSON-B 28.开发Web应用程序 28.1.“Spring Web MVC框架” 28.1.1.Spring MVC自动配置 28.1.2.HttpMessageConverters 28.1.3.自定义JSON序列化程序和反序列化程序 ...
JSON序列化器/反序列化器Java Jackson类似 语言选择 适用于Android的Java / Kotlin 适用于iOS的Objective C / Swift 简介/环境 开发人员 产品 用于开发和生产配置文件的IntelliJ Config文件 实体生成器 通过...
JSON序列化器/反序列化器Java Jackson类似 语言选择 适用于Android的Java / Kotlin 适用于iOS的Objective C / Swift 简介/环境 开发人员 产品 用于开发和生产配置文件的IntelliJ Config文件 实体生成器 通过...
layering-cache简介layering-cache是一个支持分布式环境的多级缓存框架,使用方式和spring-cache类似。使用Caffeine作为一级本地缓存,使用redis作为二级集中式缓存。一级缓存和二级缓存的数据一致性是通过推和拉两...
简介:“ Teratoma”一词源自希腊语“ teratos”,其中包括“ show”一词。 畸胎瘤源于多能生殖细胞的转化。 它们由不同比例的外胚层,内胚层和中胚层组织组成; 因此,术语“胚胎肿瘤”。 目的:我们报告了一个在...
1、天梯是一款使用Java编写的免费的轻量级CMS系统,目前提供了从后台管理到前端展现的整体解决方案。 2、用户可以不编写一句代码,就制作出一个默认风格的CMS站点。 3、前端页面自适应,支持PC和H5端,采用前后端...
本书适合于高等应用型本科院校、高等职业学校、高等专科学校、成人高校、本科院校举办的二级职业技术学院使用,也可供示范性软件职业技术学院、继续教育学院、民办高校、技能型紧缺人才培养使用,还可供本科院校、...
本书适合于高等应用型本科院校、高等职业学校、高等专科学校、成人高校、本科院校举办的二级职业技术学院使用,也可供示范性软件职业技术学院、继续教育学院、民办高校、技能型紧缺人才培养使用,还可供本科院校、...
相关软件包:servlet、mysql、lombok、jackson 功能点 用户管理 **注册:** 管理员用户进行注册,使用form表单收集用户的username和password。插入到数据库表中,为了提高安全性使用BCrypt对用户的密码进行加密。...
项目简介 CinemaBooker应用程序是客户在线预订电影票的平台。 浏览列出的电影后,用户可以相对轻松地登录到该应用程序并预订在线电影票。 该应用程序与剧院进行通信,以在购买座位后进行更新,并为客户创建门票...
Jackson 和 W. A. Stapleton 合著“Incorporating embedded programming skills into an ECE curriculum”。收于《ACM SIGBED Review Special Issue on the Second Workshop on Embedded Systems Education》(WESE ...
使用Jackson和Javadoc / KDoc自动记录和字段,,和 使用JSR 303注释自动记录字段和参数的和 通过自动记录 记录的助手 支持 方便的 用法 请参阅文档中的“部分。 样本项目 :Spring Boot 2.3,WebMVC,JUnit 4,Java
10.4Jackson 支持 96 第三部分 测试 97 11.测试方法安全性 97 11.1安全测试设置 98 11.2 @WithMockUser 98 11.3 @WithAnonymousUser 100 11.4 @用户详细信息 101 11.5 @WithSecurityContext 102 11.6测试元注释 104 ...
简介 Funtl Framework 基于多个优秀开源项目,高度整合封装,提供了互联网项目常用的工具类,如:在线支付、阿里云OSS、消息队列、Redis缓存、短信验证、百度编辑器、微信SDK等 模块 funtl-framework-core 核心模块...