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 ...
随机推荐
- noip2016普及组 题解
T1 大水题,不解释 上考场代码 #include <algorithm> #include <cstdio> using namespace std; int main() ...
- Joda-Time 简介
既然无法摆脱时间,为何不设法简化时间处理? 任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛 ...
- Fedora删除旧版本内核
由于Fedora升级非常快,因此非常有必要清除陈旧的内核,否则的话,每次登录系统会出现多个引导项,看着烦人也占用内存: 1.查看当前使用的内核 [root@w ~]# uname -r 4.9.14- ...
- Struts2学习笔记(八)——国际化
1.Struts2国际化介绍 国际化即internationalization简称i18n. 为了实现程序的国际化,必须先提供程序所需要的资源文件.资源文件的内容是key-value键值对. 资源文件 ...
- 【Hadoop】 2.7.3版本 hdfs 命令行使用
1.查看HDFS下目录结构及文件 dream361@ubuntu:~$ hdfs dfs -ls -R / 2.创建文件目录/tmp dream361@ubuntu:~$ hdfs dfs -mkdi ...
- Azure Storage Rest API Demo
本文主要介绍如何使用C#基于Rest API 操作中国版Microsoft Azure Storage,涉及方法Put Blob.Get Blob以及Delete Blob,其它方法参考上面三种方法适 ...
- Catalan数——卡特兰数
一.Catalan数的定义 令h(0)=1,h(1)=1,Catalan数满足递归式:h(n) = h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)*h(0) (n& ...
- Mysql数据库索引
今天,我们来讲讲Mysql数据库的索引的一些东西,想必大家都知道索引能干吗?必然是查找数据表的时候,查找的速度快啊,尤其是那些几百万行的数据库,不建立索引,你是想考验用户的耐心吗?Mysql有多种存储 ...
- macaca测试web小例子
上午刚把macaca的环境在公司的电脑上吧web 端的环境给搭建好,于是乎,看看网上的例子,看看官方的文档 https://macacajs.github.io/wd.py/ 可以在这个链接看到原滋原 ...
- macaca 测试web(3)
上回书说到 macaca 测试web(2) 使用ddt做参数驱动化, 有些人会说,你好low,我说怎么low呢,他说你看看你的脚本就放在一个文件里,对于我们小白来说,这看起来很乱啊,能不能给我拆分, ...