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学习整理
原文地址:http://www.cnblogs.com/ios9/p/7475954.html