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

Json学习整理

* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* @author Alan
* @Email no008@foxmail.com

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 @   一品堂.技术学习笔记  阅读(168)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示