Json学习整理
1:javascript对JSON的支持
2:java对JSON的支持
alibaba->fastjson
封装工具类:
1 import com.alibaba.fastjson.JSONObject;
2
3 public class JSONBuilder {
4 JSONObject json = new JSONObject();
5
6 public JSONBuilder put(String key, Object value) {
7 json.put(key, value);
8 return this;
9 }
10
11 @Override
12 public String toString() {
13 return json.toJSONString();
14 }
15 }
使用示例:
1 resp.getWriter().println( new JSONBuilder()
2 .put("statusCode", 300)
3 .put("message", "some msg ...")
4 .toString()
5 );
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
工具类
1 package com.taotao.common.utils;
2
3 import java.util.List;
4
5 import com.fasterxml.jackson.core.JsonProcessingException;
6 import com.fasterxml.jackson.databind.JavaType;
7 import com.fasterxml.jackson.databind.ObjectMapper;
8
9 /**
10 * 淘淘商城自定义响应结构
11 */
12 public class JsonUtils {
13
14 // 定义jackson对象
15 private static final ObjectMapper MAPPER = new ObjectMapper();
16
17 /**
18 * 将对象转换成json字符串。
19 * <p>Title: pojoToJson</p>
20 * <p>Description: </p>
21 * @param data
22 * @return
23 */
24 public static String objectToJson(Object data) {
25 try {
26 String string = MAPPER.writeValueAsString(data);
27 return string;
28 } catch (JsonProcessingException e) {
29 e.printStackTrace();
30 }
31 return null;
32 }
33
34 /**
35 * 将json结果集转化为对象
36 *
37 * @param jsonData json数据
38 * @param clazz 对象中的object类型
39 * @return
40 */
41 public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {
42 try {
43 T t = MAPPER.readValue(jsonData, beanType);
44 return t;
45 } catch (Exception e) {
46 e.printStackTrace();
47 }
48 return null;
49 }
50
51 /**
52 * 将json数据转换成pojo对象list
53 * <p>Title: jsonToList</p>
54 * <p>Description: </p>
55 * @param jsonData
56 * @param beanType
57 * @return
58 */
59 public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {
60 JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
61 try {
62 List<T> list = MAPPER.readValue(jsonData, javaType);
63 return list;
64 } catch (Exception e) {
65 e.printStackTrace();
66 }
67
68 return null;
69 }
70
71 }
注:本文参考了:cnblogs:牛奶、不加糖
Json学习整理的更多相关文章
- [Network] HTML、XML和JSON学习汇总
写在前面:楼主也是刚刚接触这方面的知识,之前完全是零基础,后来经朋友推荐了几个不错的博文,看完以后豁然开朗.但是此博文更加偏重于基础知识介绍(其实更深的楼主也还不了解,这方面的大神请绕道),只是分享个 ...
- dataTables 插件学习整理
在项目中使用了dataTables 插件,学习整理一下. dataTables 的官方中文网站 http://www.datatables.club 引入文件: 所有的都要引入 jq文件 1. dat ...
- JavaScript学习整理(转载)
JavaScript的学习整理(一) 目录: 1.换皮肤功能2.显示/隐藏(点击切换)3.显示/隐藏(onmouseover/onmouseout)4.选项卡5.全选/不选/反选(checkbox)6 ...
- js数组学习整理
原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...
- TweenMax学习整理--特有属性
TweenMax学习整理--特有属性 构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...
- HttpClient学习整理
HttpClient简介HttpClient 功能介绍 1. 读取网页(HTTP/HTTPS)内容 2.使用POST方式提交数据(httpClient3) 3. 处理页面重定向 ...
- !!对python列表学习整理列表及数组详细介绍
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...
- Java设计模式(学习整理)---命令模式
设计模式之Command(学习整理) 1.Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...
- Wix学习整理(5)——安装时填写注册表
原文:Wix学习整理(5)--安装时填写注册表 一 Microsoft操作系统的注册表 什么是注册表? 注册表是Mircrosoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信 ...
随机推荐
- vue2.0 之计算属性和数据监听
计算属性computed <template> <div> <input type="text" name="" v-model= ...
- python---ORM之SQLAlchemy(1)
定义一个类,ORM(对象关系映射)将这个类转换为sql语句,使用pymysql进行执行 一,底层处理 使用engine/connectionpooling/dialect进行数据库操作,engine使 ...
- UVALive 4850 Installations 贪心
题目链接 题意 工程师要安装n个服务,其中服务Ji需要si单位的安装时间,截止时间为di.超时会有惩罚值,若实际完成时间为ci,则惩罚值为max{0,ci-di}.从0时刻开始执行任务,问惩罚值最大 ...
- python学习笔记8--面向对象--属性和方法详解
属性: 公有属性 (属于类,每个类一份) 普通属性 (属于对象,每个对象一份) 私有属性 (属于对象,跟普通属性相似,只是不能通过对象直接访问) 方法:(按作用) 构造方法 析构函数 方法: ...
- webkitAnimationEnd事件与webkitTransitionEnd事件
写一个焦点图demo,css3动画完成以后要把它隐藏掉,这里会用到css3的事件,以前没有接触过,结果查了一下发现这是一片新天地啊,而且里面还有好多坑,比如重复动画多次触发什么的.anyway,我还是 ...
- 用贪心算法近似求解 Loading Balance 问题(作业调度的负载均衡)
一,Loading Balance 问题描述:有 m 台相同的机器及 n 个作业,其中 m={M(1),M(2),……M(m)}.n = {J(1),J(2),……J(n)}.每个作业都有一个处理时间 ...
- ZRender
https://ecomfe.github.io/zrender-doc/public/
- luogu 1006 传纸条
三/四维dp,将两次传递均看作从左上而来,在dp过程中注意防止越界/重合 f[i][j][k][l]直接枚举两轮的点,如下 #include<bits/stdc++.h> #define ...
- UBUNTU18.4环境下使用更好用的搜索引擎(无奈,只能起这样的标题)
初步安装 更新软件源 sudo apt-get update 安装pip (一个安装和管理 Python 包的工具) sudo apt-get install python-pip sudo apt- ...
- yolov3实践(一)
很多博友看了我的第一篇博客yolo类检测算法解析——yolo v3,对其有了一定的认识和了解,但是并没有贴出代码和运行效果,略显苍白.因此在把篇博客理论的基础上,造就了第一篇实践文章,也就是本文.只要 ...