package com.code.util; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.Iterator; import java.util.List; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; public class JSONHanlder { /** * 获取JSON数据 * @param key * @param source * @return */ public static String getVal(String key,String json){ if(key!=null&&key.trim().isEmpty()==false&&key.indexOf(".")!=-1&&json!=null&&json.trim().isEmpty()==false){ String[] ks = key.split("[.]"); List<String> list = Arrays.asList(ks); return getVal(json,list.iterator()); }else if(key!=null&&key.trim().isEmpty()==false){ return JSONObject.fromObject(json).get(key).toString(); } return null; } /** * 将对象转换成 JSON * @param obj * @return */ public static String getObjectAsString(Object obj){ return getObjectAsString(null,null,obj); } /** * 将对象转换成 JSON * @param obj * @return */ public static String getObjectAsString(Object ... obj){ return getObjectAsString(null,null,obj); } /** * 将对象转换成 JSON * @param parrent 时间格式 * @param excludes 不包含的字段 * @param obj * @return */ public static String getObjectAsString(String parrent,String excludes,Object... obj){ if(obj==null||obj.length==0){ return "{}"; } if(obj.length==1){ return JSONObject.fromObject(obj[0],Config.getInstance(parrent,excludes)).toString(); } Data data = new Data(); data.getRecords().addAll(Arrays.asList(obj)); return JSONObject.fromObject(data,Config.getInstance(parrent,excludes)).toString(); } /** * 将对象转换成 JSON * @param excludes * @param obj * @return */ public static String getObjectAsString(String excludes,Object... obj){ return getObjectAsString(null,excludes,obj); } /** * 将对象转换成 JSON * @param parrent * @param obj * @return */ public static String getObjectAsString(Object parrent,Object... obj){ if(parrent!=null){ return getObjectAsString(parrent.toString(),null,obj); } return getObjectAsString(null,null,obj); } /** * 获取JSON数据 * @param source * @param ks * @return */ private static String getVal(Object source,Iterator<String> ks){ if(ks.hasNext()){ source = JSONObject.fromObject(source).get(ks.next()); if(source==null){ return null; } return getVal(source,ks); } return source.toString(); } /** * JSON 配置 * @author LGF * */ public static class Config extends JsonConfig implements JsonValueProcessor { /** * 日期格式化 */ private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); /** * 默认实例 */ private static Config config = new Config(); /** * 默认构造方法 */ private Config() { this.registerJsonValueProcessor(Date.class, this); } /** * 构造方法 * @param parrent 日期格式化 * @param excludes 不包含的字段 */ private Config(String parrent,String excludes) { if(parrent!=null){ sdf = new SimpleDateFormat(parrent); } if(excludes!=null){ this.setExcludes(excludes.split(",")); } this.registerJsonValueProcessor(Date.class, this); } @Override public Object processArrayValue(Object date, JsonConfig cfg) { if(date instanceof Date){ return sdf.format(date); } return null; } @Override public Object processObjectValue(String name, Object date, JsonConfig cfg) { if(date instanceof Date){ return sdf.format(date); } return null; } /** * 获取默认实例 * @return */ public static Config getDefaultInstance(){ return config; } /** * 日期格式化实例 * @param parrent * @return */ public static Config getInstance(String parrent,String excludes){ return new Config(parrent,excludes); } } /** * JSON 数据储存实体 * @author LGF * */ public static class Data{ private List<Object> records = new ArrayList<Object>(); public List<Object> getRecords() { return records; } public void setRecords(List<Object> records) { this.records = records; } } }
相关推荐
java服务器用的json工具类,自己封装的,支持beanToJson ListToJson arrayToJson等
将集合、数组、字符串等形式转换成json格式,封装完善的json工具类
自己写的一个json工具类。
java json 工具类java json 工具类 java json 工具类java json 工具类 java json 工具类java json 工具类 java json 工具类java json 工具类
这个"bean,json工具类"就是为了解决这个问题而设计的,它的主要功能可能包括以下几点: 1. **Bean到JSON转换**:工具类提供了将Java Bean对象转换为JSON字符串的方法。这通常通过使用如Jackson、Gson或Fastjson等...
标题中的"asp的JSON工具类"就是为了解决这一问题,使得在ASP中读取、解析和生成JSON数据变得更加便捷。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...
总结来说,`Java json工具类`如`Jackson`和`ObjectMapper`,以及开发者自定义的`JacksonUtils`工具类,是Java开发中处理JSON数据的关键工具。它们能够方便地将Java对象和JSON格式数据互相转换,同时提供了一系列高级...
在实际开发中,使用JSON工具类时,常见的操作包括: - **序列化**:将Java对象转换为JSON字符串,这在发送HTTP请求或保存数据到文件时非常有用。 - **反序列化**:将JSON字符串解析为Java对象,便于在程序中使用...
本篇将详细介绍`Json工具类`及其相关的知识点。 一、Gson库 Gson是Google提供的一个Java库,能够将Java对象转化为JSON字符串,反之亦然。它通过简单的API设计,使得JSON数据的序列化和反序列化变得非常便捷。例如,...
JsonUtil json工具类 JsonUtil json工具类
1. **JSON工具类**: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们通常使用`org.json`库或`com.google.gson`库来处理JSON数据。...
Java处理JSON的全套工具类,依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar
在“实体类反射非空赋值,AjaxJson工具类”这个主题中,我们将探讨如何使用反射来安全地为实体类的属性赋值,并结合Ajax与JSON进行数据的转换和交互。 首先,让我们深入了解反射的概念。Java反射API提供了Class类,...
"Excel转Java以及JSON工具类"提供了一种便捷的方式来管理和转化结构化的数据。这种工具通常用于将Excel表格中的数据转换为Java对象或者JSON格式,方便在编程环境中进行操作和使用。 Excel是一种广泛使用的电子表格...
XML转JSON工具类,支持多层XML嵌套解析转JSON,采用dom4j解析转JSON格式,多次线上环境使用
包含各种对象转换成json对象,还包含把对象中的属性转成hashmap 并且可以过滤为空的或者为null的对象
java转JSON工具类说明,以后看着函数说明就自己可以随便使用JSON数据了,