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

  • 相关阅读:
    级数问题
    放苹果
    _WIN32_WINNT not defined错误 解决办法
    日期大写
    金额大写转换
    选择屏幕字段不允许直接输入…
    OO面向对象ALV小测试
    判断是否有人在操作某张表,并获取…
    屏幕中设置焦点
    前导零
  • 原文地址:https://www.cnblogs.com/ios9/p/7475954.html
Copyright © 2020-2023  润新知