json-java处理-jackson
使用jackson处理json数据
maven中的配置,这里没有写版本信息
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
工具类
package opstools.vtm.support.utils;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
public class JsonSupportUtils {
public final static ObjectMapper jsonMapper = new ObjectMapper();
public static String serialize(Object object) throws Exception{
return jsonMapper.writeValueAsString(object);
}
public static <T> T deserialize(String str, Class<T> valueType) throws Exception{
return (T)jsonMapper.readValue(str, valueType);
}
public static <T> T deserialize(String str, TypeReference valueTypeRef) throws Exception{
return (T)jsonMapper.readValue(str, valueTypeRef);
}
}
测试使用
-->Service层的某个类
@SuppressWarnings("unchecked")
@Override
public String getDicByCodeAndFactoryValue(String code,String factoryValue) throws Exception{
//改成JSON格式的
List<Object[]> result= (List<Object[]>) dicdao.getDicByCodeAndFactoryValue(code,factoryValue);
List<ResourceValue> rvs=new ArrayList<ResourceValue>();
if(result!=null && result.size()>0){
for(Object[] obj:result){
rvs.add(new ResourceValue(obj[0],obj[1]));
}
return JsonSupportUtils.serialize(rvs);
}
return null;
}
-->Action层的某个类
/**
* 从字典中获取设备型号信息(依据设备厂商信息)
* @return
* @throws Exception
*/
public void getDeviceTypeJSON() throws Exception{
String factory=request.getParameter("factory");
if(factory!=null){
//根据厂商信息加载设备型号
String result=dicService.getDicByCodeAndFactoryValue(DIC_DEVICE_MODEL, factory); //设置json格式
response.setContentType("text/json;charset=UTF-8");
response.getWriter().write(result);
}
}
-->前台界面层的处理,这里是用jquery处理的js
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
...... /** *下拉框的级联操作 */
<script type="text/javascript" >
$(document).ready(function(){
$("#deviceFactory").on("change",function(event){
$.post("deviceInfo!getDeviceTypeJSON.jspa",
{factory:$(this).val()},
function(data){
if(data!=null){
//1,清空设备型号内部元素
$("#deviceType").empty();
//2,增加提示信息
$("#deviceType").append("<option value=''>请选择</option>");
for(var i=0;i<data.length;i++){
//添加新数据
var option="<option value='"+data[i].realValue+"'>"+data[i].displayValue+"</option>";
$("#deviceType").append(option);
}
}
},"json");
});
})
</script>
</head>
<body ......
<s:form id="MYFORM" action="%{pageAction}" method="post" theme="simple">
<div id="content">
<table>
......
<tr>
<th width="17%">设备厂商:</th>
<td width="35%"><s:select name="deviceInfo.factory" id="deviceFactory"
list="deviceFactoryList"
listKey="realValue"
listValue="displayValue"
headerKey=""
headerValue="请选择"/>
</td>
<th width="13%">设备型号:</th>
<td width="35%"><s:select name="deviceInfo.deviceNo" id="deviceType"
list="deviceTypeList"
listKey="realValue"
listValue="displayValue"
headerKey=""
headerValue="请选择"/>
</td>
</tr>
</table>
</div>
</s:form>
</body>
</html>
json-java处理-jackson的更多相关文章
- Java JSON处理库Jackson
Jackson是一款为Java平台提供的一套数据处理类库工具,Jackson的主要功能是提供JSON解析和生成.另外,Jackson还提供额外的类库以支持处理Avro, CBOR, CSV, Smil ...
- Java解析json(二):jackson
Java解析json(二):jackson 官方参考 Jackson Home Page:https://github.com/FasterXML/jackson Jackson Wiki:htt ...
- Java进阶学习:JSON解析利器JackSon
Java:JSON解析利器JackSon JackSon基础 1.Maven项目引入 <!-- https://mvnrepository.com/artifact/org.codehaus.j ...
- java使用jackson生成和解析JSON
java使用jackson生成和解析JSON 1.导包 2.生成json和解析json package test; import com.fasterxml.jackson.core.JsonProc ...
- Java用Jackson遍历json所有节点
<!-- jackson begin --> <dependency> <groupId>com.fasterxml.jackson.core</groupI ...
- Json解析工具Jackson(使用注解)
原文http://blog.csdn.net/nomousewch/article/details/8955796 接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给 ...
- Java使用jackson问题解决
Java使用jackson问题解决 >>>>>>>>>>>>>>>>>>>>&g ...
- Java 使用 Jackson库 对 JavaMap 进行序列化反序列化
最近在用 java 处理一一些东西,发现 java 对对象进行序列化反序列化比起 python 来还是有些麻烦记录一下. 找了好几个库最后选择了 Jackson 感觉大家对它评价还不错. 将目标从 J ...
- Json解析工具Jackson(使用注解)--jackson框架自定义的一些json解析注解
Json解析工具Jackson(使用注解)--jackson框架自定义的一些json解析注解 @JsonIgnoreProperties 此注解是类注解,作用是json序列化时将Javabean中的一 ...
- Java之JSON操作(Jackson)
Java to JSON: package json.jackson; import bean.User; import com.fasterxml.jackson.databind.ObjectMa ...
随机推荐
- 【Zookeeper】应用场景
配置的管理在分布式应用环境中很常见,例如同一个应用系统需要多台server运行,但是他们运行的应用系统的某些配置项是相同的,如果要修改这些相同的配置项,那么就必须同时修改每台运行这应用系统的serve ...
- ASP.NET Core 运行原理解剖[2]:Hosting补充之配置介绍
在上一章中,我们介绍了 ASP.NET Core 的启动过程,主要是对 WebHost 源码的探索.而本文则是对上文的一个补充,更加偏向于实战,详细的介绍一下我们在实际开发中需要对 Hosting 做 ...
- JavaScript对象遍历
一.对象是数组: var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; //each遍历: $.each(arr,function (index,value) { alert( ...
- Struts:文件上传下载
- 关于jsp页面转换成excel格式下载遇到问题及解决
jsp页面转成excel格式的实现思路: 1.使用poi包:poi-bin-3.9-20121203 下载连接地址:http://www.apache.org/dyn/closer.cgi/poi/r ...
- mac系统webstorm快捷键
WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为"Web前端开发神器"."最强大的HTML5编辑器". ...
- js 对于回车时间的监听,提交表单
// ------ 监听回车事件 -----------------// document.onkeydown=keyDownSearch; function keyDownSearch(e) { / ...
- 持续交付Jenkins使用
简介 Jenkins是一个独立的开源自动化服务器,可用于自动化各种任务,如构建,测试和部署软件.Jenkins可以通过本机系统包Docker安装,甚至可以通过安装Java Runtime Enviro ...
- MySQL插入10万数据时间(结论:最快14.967s,每秒插入6681条)
记录我的一次MySQL操作Demo: 存储过程: DROP PROCEDURE IF EXISTS my_insert; CREATE PROCEDURE my_insert() BEGIN ; lo ...
- eclipse+git
最近朋友都推荐使用github管理自己的项目,而且免费用户可以有5个仓库,恰好我也想了解下git,借此机会学习一下.github官方指南使用独立第三方git工具来进行版本控制,并不借助于eclipse ...