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 ...
随机推荐
- 【Centos7】hostnamectl 设置主机名
Centos7中提供了设置主机名的工具 hostnamectl hostname有三种状态 static(永久) transient(瞬态) pretty (灵活) 查看主机名状态 [oracle@h ...
- Effective Java通俗理解(下)
Effective Java通俗理解(上) 第31条:用实例域代替序数 枚举类型有一个ordinal方法,它范围该常量的序数从0开始,不建议使用这个方法,因为这不能很好地对枚举进行维护,正确应该是利用 ...
- 【浅谈web安全】大企业安全:从员工下手
目前所有的企业都存在这方面的问题,比如员工把服务器和后台密码直接明文保存在云笔记和网盘中,员工企业邮箱密码跟外部个人密码一致等等,通常我们在入侵的时候只要在微博搜索一个目标公司的员工,拿到常用密码后登 ...
- Go 到底有没有引用传参(对比 C++ )
Go 到底有没有引用传参(对比 C++ ) C++ 中三种参数传递方式 值传递: 最常见的一种传参方式,函数的形参是实参的拷贝,函数中改变形参不会影响到函数外部的形参.一般是函数内部修改参数而又不希望 ...
- mongodb菜鸟整理 2 C#Driver使用
一下载 从官网上下载... 二 引用 下载完了将其解压到某个文件夹内,打开vs建立一个工程 右键引用,找到刚才解压的目录,把里面说有的dll文件全部添加就好 三 命名空间 我都是先打然后alt+shi ...
- TOMCAT闪退。cmd执行startup.bat保错:the CATALINA_HOME environment variable is not defined correctly
从上图可以看出 是我们没有设置CATALINA_HOME变量 于是我设置了这个变量之后 ,再次重启,ok了
- pycharm激活
刚刚下载了2017.1版本专业版的pycharm,作为一个天朝开发者,自然是去找注册码了.转悠了一圈,那些注册码都已经失效了.看到一个有效的方法:把http://elporfirio.com:1017 ...
- App测试中 ----------------Android和IOS测试区别
1 . Android长按home键呼出应用列表和切换应用,然后右滑则终止应用:2. 多分辨率测试,Android端20多种,ios较少:3. 手机操作系统,Android较多,ios较少且不能降级, ...
- HK2框架的简单自实现kunJ
kunJ kunJ框架,是基于HK2框架的一个自实现注入框架,功能比较简单,重在探索依赖注入的实现原理. 实现细节 自定义3个注解,Access,Inject,Service 在Service中实现对 ...
- [转]linux中颜色的含义
绿色文件---------- 可执行文件,可执行的程序 红色文件-----------压缩文件或者包文件 蓝色文件----------目录 www.2cto.com 白色文件-------- ...