json与对象的互转

package cn.xgs.utils;import java.util.List;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;public class JsonUtils {// 定义jackson对象private static final ObjectMapper MAPPER = new ObjectMapper();/*** 将对象转换成json字符串。* <p>Title: pojoToJson</p>* <p>Description: </p>* @param data* @return*/public static String objectToJson(Object data) {try {String string = MAPPER.writeValueAsString(data);return string;} catch (JsonProcessingException e) {e.printStackTrace();}return null;}/*** 将json结果集转化为对象* * @param jsonData json数据* @param clazz 对象中的object类型* @return*/public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {try {T t = MAPPER.readValue(jsonData, beanType);return t;} catch (Exception e) {e.printStackTrace();}return null;}/*** 将json数据转换成pojo对象list* <p>Title: jsonToList</p>* <p>Description: </p>* @param jsonData* @param beanType* @return*/public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);try {List<T> list = MAPPER.readValue(jsonData, javaType);return list;} catch (Exception e) {e.printStackTrace();}return null;}}

cookie

package.cn.xgs.utils;import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** * Cookie 工具类**/
public final class CookieUtils {/*** 得到Cookie的值, 不编码* * @param request* @param cookieName* @return*/public static String getCookieValue(HttpServletRequest request, String cookieName) {return getCookieValue(request, cookieName, false);}/*** 得到Cookie的值,* * @param request* @param cookieName* @return*/public static String getCookieValue(HttpServletRequest request, String cookieName, boolean isDecoder) {Cookie[] cookieList = request.getCookies();if (cookieList == null || cookieName == null) {return null;}String retValue = null;try {for (int i = 0; i < cookieList.length; i++) {if (cookieList[i].getName().equals(cookieName)) {if (isDecoder) {retValue = URLDecoder.decode(cookieList[i].getValue(), "UTF-8");} else {retValue = cookieList[i].getValue();}break;}}} catch (UnsupportedEncodingException e) {e.printStackTrace();}return retValue;}/*** 得到Cookie的值,* * @param request* @param cookieName* @return*/public static String getCookieValue(HttpServletRequest request, String cookieName, String encodeString) {Cookie[] cookieList = request.getCookies();if (cookieList == null || cookieName == null) {return null;}String retValue = null;try {for (int i = 0; i < cookieList.length; i++) {if (cookieList[i].getName().equals(cookieName)) {retValue = URLDecoder.decode(cookieList[i].getValue(), encodeString);break;}}} catch (UnsupportedEncodingException e) {e.printStackTrace();}return retValue;}/*** 设置Cookie的值 不设置生效时间默认浏览器关闭即失效,也不编码*/public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,String cookieValue) {setCookie(request, response, cookieName, cookieValue, -1);}/*** 设置Cookie的值 在指定时间内生效,但不编码*/public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,String cookieValue, int cookieMaxage) {setCookie(request, response, cookieName, cookieValue, cookieMaxage, false);}/*** 设置Cookie的值 不设置生效时间,但编码*/public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,String cookieValue, boolean isEncode) {setCookie(request, response, cookieName, cookieValue, -1, isEncode);}/*** 设置Cookie的值 在指定时间内生效, 编码参数*/public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,String cookieValue, int cookieMaxage, boolean isEncode) {doSetCookie(request, response, cookieName, cookieValue, cookieMaxage, isEncode);}/*** 设置Cookie的值 在指定时间内生效, 编码参数(指定编码)*/public static void setCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,String cookieValue, int cookieMaxage, String encodeString) {doSetCookie(request, response, cookieName, cookieValue, cookieMaxage, encodeString);}/*** 删除Cookie带cookie域名*/public static void deleteCookie(HttpServletRequest request, HttpServletResponse response,String cookieName) {doSetCookie(request, response, cookieName, "", -1, false);}/*** 设置Cookie的值,并使其在指定时间内生效* * @param cookieMaxage cookie生效的最大秒数*/private static final void doSetCookie(HttpServletRequest request, HttpServletResponse response,String cookieName, String cookieValue, int cookieMaxage, boolean isEncode) {try {if (cookieValue == null) {cookieValue = "";} else if (isEncode) {cookieValue = URLEncoder.encode(cookieValue, "utf-8");}Cookie cookie = new Cookie(cookieName, cookieValue);if (cookieMaxage > 0)cookie.setMaxAge(cookieMaxage);if (null != request) {// 设置域名的cookieString domainName = getDomainName(request);System.out.println(domainName);if (!"localhost".equals(domainName)) {cookie.setDomain(domainName);}}cookie.setPath("/");response.addCookie(cookie);} catch (Exception e) {e.printStackTrace();}}/*** 设置Cookie的值,并使其在指定时间内生效* * @param cookieMaxage cookie生效的最大秒数*/private static final void doSetCookie(HttpServletRequest request, HttpServletResponse response,String cookieName, String cookieValue, int cookieMaxage, String encodeString) {try {if (cookieValue == null) {cookieValue = "";} else {cookieValue = URLEncoder.encode(cookieValue, encodeString);}Cookie cookie = new Cookie(cookieName, cookieValue);if (cookieMaxage > 0)cookie.setMaxAge(cookieMaxage);if (null != request) {// 设置域名的cookieString domainName = getDomainName(request);System.out.println(domainName);if (!"localhost".equals(domainName)) {cookie.setDomain(domainName);}}cookie.setPath("/");response.addCookie(cookie);} catch (Exception e) {e.printStackTrace();}}/*** 得到cookie的域名*/private static final String getDomainName(HttpServletRequest request) {String domainName = null;String serverName = request.getRequestURL().toString();if (serverName == null || serverName.equals("")) {domainName = "";} else {serverName = serverName.toLowerCase();serverName = serverName.substring(7);final int end = serverName.indexOf("/");serverName = serverName.substring(0, end);final String[] domains = serverName.split("\\.");int len = domains.length;if (len > 3) {// www.xxx.com.cndomainName = "." + domains[len - 3] + "." + domains[len - 2] + "." + domains[len - 1];} else if (len <= 3 && len > 1) {// xxx.com or xxx.cndomainName = "." + domains[len - 2] + "." + domains[len - 1];} else {domainName = serverName;}}if (domainName != null && domainName.indexOf(":") > 0) {String[] ary = domainName.split("\\:");domainName = ary[0];}return domainName;}}

Json与对象的互转,Cookie的相关操作相关推荐

  1. JSON 与 对象 、集合 之间的转换(转)

    JSON字符串和java对象的互转[json-lib] 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的 ...

  2. xml和对象之间的互相转换以及json和对象之间的互相转换

    首先先讲json和对象之间的互相转换,因为这个比较简单. 首先引入依赖 <dependency> <groupId>com.alibaba</groupId> &l ...

  3. 通过创建 HttpCookie 对象的实例编写 Cookie

    通过创建 HttpCookie 对象的实例编写 Cookie HttpCookie myCookie = new HttpCookie("UserSettings"); myCoo ...

  4. java 对象转json json转对象

    java 对象转json json转对象 import com.alibaba.fastjson.JSON;/*** * @title: fastjson * @author: wll* @since ...

  5. js 对象转json,json转对象

    简介: JSON.stringify   对象转json:查看对象中存储的数据 JSON.parse       json转对象:value=object.key 注:只有对象才可以通过 " ...

  6. jackson json转对象 对象转json

    一,Jackson使用示例 第1步:创建ObjectMapper对象. 创建ObjectMapper对象.它是一个可重复使用的对象. ObjectMapper mapper = new ObjectM ...

  7. html js定义json对象,javascript中的json及对象

    ③ 使用JSON构造对象 JSON即Javascript对象表示方法(Javascript Object Notation),也就是通过字面量来表示一个对象: //JSON形式创建一个对象 var a ...

  8. 十分钟搞懂JSON(JSON对象---JSON字符串---对象 之间的区别)

    好记性不如烂笔头,相信我,看了之后你会彻底搞懂JSON 前言:前天被JSON对象,JSON字符串,JAVA对象搞混了,不知道各自代表的意思,我就查了资料,总结为一篇博文. 另外我想List<Us ...

  9. ASP.NET AJAX + JSON 实现对象调用

    最近开始学习ASP.NET AJAX 搞了两天学了点皮毛,贴点代码 日后方便自己查看 客户端: <%@ Page Language="C#" AutoEventWireup= ...

最新文章

  1. JAVA游戏编程之三----j2me 手机游戏入门开发--俄罗斯方块_5_使用LUA脚本写游戏
  2. python3 推荐使用super调用base类方法
  3. 传输层协议(TCP/UDP)介绍
  4. C语言:格式字符串中的类型
  5. 目前最舒服笔记——印象笔记下载使用
  6. 以太坊智能合约 solidity 的常用的数据结构介绍
  7. 设计一个扩展自抽象类geometricobject的新的triangle类_如何进行代码抽象设计?
  8. 【转】常见面试之机器学习算法思想简单梳理
  9. Coursera, Big Data 3, Integration and Processing (week 1/2/3)
  10. java计算交点高程_javascirpt怎样模仿块级作用域(js高程笔记)
  11. c语言ODBC连接数据库
  12. 使用outlook及office assitans实现邮件批量发送
  13. ちょっとした難しい言葉まとめ③
  14. zabbix配置监控主机及微信报警功能
  15. Oracle 重建TEMP表空间
  16. ZJUT online OJ c++通关模拟题(problem1335-problem1516) 题解
  17. 实现表格中的el-switch 开关切换
  18. MgH2-grap金属Ni-Mg/C镍对镁碳复合储氢材料hene|Mg/C复合储氢材料复合储氢材料
  19. wegame饥荒一直登录中_LOL登录遇到预期之外的错误(用wegame登录出现错误而用客户端登录可以的解决方法)!亲测有效!...
  20. 如何将nii图像文件转换为png图像,亲测有效!!!

热门文章

  1. java会动的乌龟代码_请教:一只乌龟的运动
  2. 哪个平台回收价格高?
  3. 使用docker快速部署owncloud私有云存储服务
  4. 【附C++源代码】模型预测控制(MPC)公式推导以及算法实现,Model Predictive control介绍
  5. vm虚拟机win10无法复制文件_win10虚拟机拷贝文件
  6. 孩子科技特长生学什么比较好?当然是编程课
  7. WTM:ASP.NET Core快速开发利器!
  8. AV1代码学习3:函数aom_codec_encode
  9. NFT 项目的十大评估维度
  10. unity HLSL 面片火焰Shader V0.1