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 ...
随机推荐
- quartz学习笔记(一)简单入门
前言 quartz是Java编写的一款开源的任务调度开发框架,在项目开发中很多场景都可以用到,比如订单超期自动收货. 所谓程序源于生活,生活中也有很多场景可以用quartz来模拟,比如工作日早上七点起 ...
- CSS选择器大汇总
CSS选择器是学习CSS以及Web编程的基础. 整理出常用的CSS选择器,供自己和大家一起学习. 基本选择器 * /*通用元素选择器,匹配页面任何元素(这也就决定了我们很少使用)*/ #id /*id ...
- 使用Visual Studio Code和typescript 开发调试React Native项目
关于React Native的详细介绍我就不叙述了,他是使用js构建原声app的开发框架.一次变异多平台运行,非常强大.但是个人不喜欢js的过于灵活(弱类型)的语法.强大的强类型语言Typescrip ...
- 关于 struts2 Unable to load configuration. - action
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "- ...
- 启动tomcat错误:Address already in use: JVM_Bind:8081
解决方法: 1.打开任务管理器,关闭掉javaw进程. 2.修改tomcat端口:tomcat/conf/server.xml
- java使用字节流和字符流实现文件复制
大家在Java开发中都会遇到文件复制的文件,众所周知,需要通过文件输入输出流实现. 那究竟该怎么做那,话不多说,直接上代码: 一,使用字节流复制文件 public class FileByteCopy ...
- css中使用变量
2017年3月,微软宣布 Edge 浏览器将支持 CSS 变量.这个重要的 CSS 新功能,所有主要浏览器已经都支持了. 声明css变量的时候,变量名前面要加两根连词线(--).变量名大小写敏感,-- ...
- 汽车VIN码识别适用于什么行业
在您看完之前的文章知道了VIN码识别的原理,现在跟大家分享一下汽车VIN码识别的应用场景吧 汽车VIN码不仅在制造.销售.保养.保险.交易环节会需要录入汽车的VIN码,在交通事故处理中,作为汽车身份唯 ...
- 第二次项目冲刺(Beta阶段)5.21
1.提供当天站立式会议照片一张 会议内容: ①检查前一天的任务情况,做出自我反省. ②制定新一轮的任务计划. 2.每个人的工作 (1)工作安排 队员 今日进展 明日安排 王婧 #53实现多对多查重 # ...
- Swing-JTable的渲染器与编辑器使用demo
JTable的内容.外观.事件响应在很大程度上是由渲染器与编辑器控制的.具体说来,渲染器负责单元格的外观比如前景色.背景色,以及单元格提示:编辑器负责单元格的内容和事件响应.编辑器默认为文本框形式,也 ...