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中的一个重要的数据库,用于存储系统和应用程序的设置信 ...
随机推荐
- Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】
转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录 ...
- 让maven项目使用nexus作为远程仓库
让maven项目使用nexus作为远程仓库有两种方式,第一种是在项目的pom.xml中进行更改,让单个项目使用nexus仓库:另一种是通过修改maven的配置文件settings.xml进行更改,让所 ...
- WCF开发实战系列二:使用IIS发布WCF服务
WCF开发实战系列二:使用IIS发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS200 ...
- Django多域名配置之Django-hosts插件的使用
使用场景: Django中有两个app,如果通过域名来访问,可以使用www.domain.com/a.www.domain.com/b来访问.这样就显得有点LowB了.如果我想通过a.domain.c ...
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
好吧,竟然不能单发一张图,不够200字啊不够200字! 在<JavaScript高级程序设计>中,分门别类介绍了非常多数组方法,其中迭代方法里面有6种,这6种方法在实际项目有着非常广泛的作 ...
- css去除苹果默认样式
input[type="button"], input[type="submit"], input[type="reset"] { -web ...
- datagrid点删除,弹出一个确认和取消的消息框
有个简单的方法:在datagrid的删除按扭datagrid的属性生成器->列->添加按扭列->删除在数据字段中加上:<div id="de" onclic ...
- new和delete
和 sizeof 类似,sizeof不是函数,它是一个操作符,它在编译期就完成了计算,在函数运行期间它已经是一个常数值了. int a; sizeof(int) = 4; sizeof(a) = 4; ...
- python中修改工作目录
- OGR中空间叠加函数Union
在OGRLayer的对象中调用Union函数了.先看一下Union函数的原型: Union(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char * ...