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中的一个重要的数据库,用于存储系统和应用程序的设置信 ...
随机推荐
- CentOS/Linux下设置IP地址
CentOS/Linux下设置IP地址 1:临时修改:1.1:修改IP地址# ifconfig eth0 192.168.100.100 1.2:修改网关地址# route add default g ...
- Eclipse导入jdk的源码
eclipse导入JDK源码 前言:这件事情的重要性不言而喻,对于学习和观摩优秀的代码非常的有用,我喜欢想看什么代码都能 Ctrl+鼠标一点 就能够看到,不过这个不常操作,在这里小记一笔,以备后用.( ...
- 走近HTTP协议之一 基本网络概念与理解
当今的技术领域,开发者人数最为之多的群体便是web领域,与之相关岗位的包括前端工程师,后台工程师,移动端开发工程师等等.然而由于受时代浮躁氛围的影响,许多开发者对最为基础的HTTP协议都不甚了解,这也 ...
- Jenkins创建job时Check-out Strategy各个选项详细说明(含图)
Check-out Strategy 第一次build 第n次build(除第一次) Use 'svn update' as much as possible 将workspace下的所有文件清空,然 ...
- models.DateTimeField(auto_now_add=True) 与 models.DateTimeField(auto_now=True)
DateTimeField和DateField和TimeField存储的内容分别对应着datetime(),date(),time()三个对象. 对于auto_now=False和auto_now_a ...
- ElasticSearch文档操作介绍三
ElasticSearch文档的操作 文档存储位置的计算公式: shard = hash(routing) % number_of_primary_shards 上面公式中,routing 是一个可变 ...
- Spring MVC程序中怎么得到静态资源文件css,js,图片文件的路径问题
问题描述 在用springmvc开发应用程序的时候.对于像我一样的初学者,而且还是自学的人,有一个很头疼的问题.那就是数据都已经查出来了,但是页面的样式仍然十分简陋,加载不了css.js,图片等资源文 ...
- 使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布
假设检验的基本思想: 若对总体的某个假设是真实的,那么不利于或者不能支持这一假设的事件A在一次试验中是几乎不可能发生的.如果事件A真的发生了,则有理由怀疑这一假设的真实性,从而拒绝该假设. 实质分析: ...
- Hbase记录-Hbase调优参数
- collectd使用
1.什么是collectd collectd是一款基于C语言研发的插件式架构的监控软件,它可以收集各种来源的指标,如操作系统,应用程序,日志文件和外部设备,并存储此信息或通过网络提供.这些统计数据可用 ...