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:牛奶、不加糖
时间: 2024-10-12 17:08:58