/**PageBeginHtml Block Begin **/ /***自定义返回顶部小火箭***/ /*生成博客目录的JS 开始*/ /*生成博客目录的JS 结束*/

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:牛奶、不加糖

posted @ 2017-09-04 21:36  一品堂.技术学习笔记  阅读(168)  评论(0编辑  收藏  举报