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学习整理的更多相关文章

  1. [Network] HTML、XML和JSON学习汇总

    写在前面:楼主也是刚刚接触这方面的知识,之前完全是零基础,后来经朋友推荐了几个不错的博文,看完以后豁然开朗.但是此博文更加偏重于基础知识介绍(其实更深的楼主也还不了解,这方面的大神请绕道),只是分享个 ...

  2. dataTables 插件学习整理

    在项目中使用了dataTables 插件,学习整理一下. dataTables 的官方中文网站 http://www.datatables.club 引入文件: 所有的都要引入 jq文件 1. dat ...

  3. JavaScript学习整理(转载)

    JavaScript的学习整理(一) 目录: 1.换皮肤功能2.显示/隐藏(点击切换)3.显示/隐藏(onmouseover/onmouseout)4.选项卡5.全选/不选/反选(checkbox)6 ...

  4. js数组学习整理

    原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...

  5. TweenMax学习整理--特有属性

    TweenMax学习整理--特有属性   构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...

  6. HttpClient学习整理

    HttpClient简介HttpClient 功能介绍    1. 读取网页(HTTP/HTTPS)内容    2.使用POST方式提交数据(httpClient3)    3. 处理页面重定向    ...

  7. !!对python列表学习整理列表及数组详细介绍

    1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...

  8. Java设计模式(学习整理)---命令模式

    设计模式之Command(学习整理) 1.Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...

  9. Wix学习整理(5)——安装时填写注册表

    原文:Wix学习整理(5)--安装时填写注册表 一 Microsoft操作系统的注册表 什么是注册表? 注册表是Mircrosoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信 ...

随机推荐

  1. @Value加载classpath下的文件

    maven工程中,要加载classpath下的文件并以InputStream的形式返回,通常使用的方法是 InputStream inputStream = Test.class.getClassLo ...

  2. Cotex-M4简介

    ARM Cortex™-M4 处理器是由 ARM 专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场. 高效的信号处理功能与 Cortex-M 处理器系列 ...

  3. mac burp suite https证书安装

    1. 下载burp suite 2.安装,设置并代理上 3. 打开http://burp并且下载证书 4. 点击打开选择始终信任并且导出桌面 5. 火狐打开设置至证书一栏[证书机构]导入切信任 6.大 ...

  4. CPU温度问题

    台式机和笔记本的CPU温度多少合适,过高会怎样, cpu温度跟环境温度有很大关系,夏天的时候会高一点的.一般CPU空闲的时候温度在50°以内,较忙时65°以内,全速工作时75°以内都是正常的,所以我们 ...

  5. GO语言的进阶之路-网络编程之socket

    GO语言的进阶之路-网络编程之socket 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是socket; 在说socket之前,我们要对两个概念要有所了解,就是IP和端口 ...

  6. python自动化运维之路~DAY6

    python自动化运维之路~DAY6 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  如果你想开发一款游戏,会存在角色的混搭的情况,这个时候“面向对象过程”就出现了,他能轻松的解决 ...

  7. mysql -- 索引补充

    .unique索引补充:联合唯一 unique(name,email)是name和email这两列联合起来唯一,不再试某个字段唯一 .主键索引,类似唯一索引,也是允许联合多个字段作为主键,例如:pri ...

  8. Linux记录-AWK语法(转载)

    1.原理 awk,一个行文本处理工具,逐行处理文件中的数据 语法:awk 'pattern + {action}' 说明:(1)单引号''是为了和shell命令区分开:(2)大括号{}表示一个命令分组 ...

  9. JAVA-大白话探索JVM-运行时内存(三)

    前面章节 JAVA-大白话探索JVM-类加载器(一) JAVA-大白话探索JVM-类加载过程(二) JVM运行时内存 通过之前的章节,我们知道.class类如何加载到内存中,如图红框 开始讲讲内存空间 ...

  10. 12. SpringBoot国际化

    1).编写国际化配置文件: 2).使用ResourceBundleMessageSource管理国际化资源文件 3).在页面使用fmt:message取出国际化内容 步骤:1).编写国际化配置文件,抽 ...