public class JsonUtil { // 把JsonArray的字符串转换成List<Map<String, Object>> public static List<Map<String, Object>> parseJsonArrayStrToListForMaps( String jsonArrayStr) { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); try { if (jsonArrayStr != null) { JSONArray jsonArray = new JSONArray(jsonArrayStr); Map<String, Object> map = null; for (int j = 0; j < jsonArray.length(); j++) { JSONObject jsonObject = jsonArray.getJSONObject(j); map = parseJsonObjectStrToMap(jsonObject.toString()); if (map != null) { list.add(map); } } } } catch (Exception e) { e.printStackTrace(); } if (list.size() == 0) { return null; } return list; } // 把JsonObject的字符串转换成Map<String, Object> public static Map<String, Object> parseJsonObjectStrToMap( String jsonObjectStr) { Map<String, Object> map = new HashMap<String, Object>(); try { if (jsonObjectStr != null) { JSONObject jsonObject = new JSONObject(jsonObjectStr); for (int j = 0; j < jsonObject.length(); j++) { Iterator<String> iterator = jsonObject.keys(); while (iterator.hasNext()) { String key = iterator.next(); Object value = jsonObject.get(key); map.put(key, value); } } } } catch (Exception e) { e.printStackTrace(); } if (map.size() == 0) { return null; } return map; } // 把JsonObject的字符串转换成java 对象 public static <T> T parseJsonObjectStrToEntity(String jsonObjectStr, Class<T> clazz) { Map<String, Object> map = parseJsonObjectStrToMap(jsonObjectStr); try { T entity = clazz.newInstance(); Set<String> set = map.keySet(); if (CollectionUtils.isNotEmpty(set)) { for (String key : set) { ReflectUtil.setValue(entity, key, map.get(key)); } return entity; } } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return null; } // 把JsonArray的字符串转换成List<entitys> public static <T> List<T> parseJsonArrayStrToEntitys(String jsonArrayStr, Class<T> clazz) throws Exception{ List<Map<String, Object>> list = parseJsonArrayStrToListForMaps(jsonArrayStr); // 返回数据集合 List<T> entitys = new ArrayList<T>(); // 得到对象所有字段 if (CollectionUtils.isNotEmpty(list)) { for (Map<String, Object> map : list) { T entity = clazz.newInstance(); Set<String> set = map.keySet(); if (CollectionUtils.isNotEmpty(set)) { for (String key : set) { ReflectUtil.setValue(entity, key, map.get(key)); } entitys.add(entity); } } return entitys; } return null; } } ///////////////////
public class ReflectUtil { /** * 获取实体类一个成员变量的值 */ public static Object getValue(Object entity, String fieldName) { Object value = null; try { Class<?> clazz = entity.getClass(); String methodName = "get" + StrUtil.getUpperCharAt(fieldName, 0); Method method = clazz.getMethod(methodName); value = method.invoke(entity); } catch (Exception e) { e.printStackTrace(); } return value; } /** * 设置实体类一个成员变量的值 */ public static void setValue(Object entity, String fieldName, Object value) { try { Class<?> clazz = entity.getClass(); Field field = clazz.getDeclaredField(fieldName); Class<?> type = field.getType(); String methodName = "set" + StrUtil.getUpperCharAt(fieldName, 0);//有参函数 Method method = clazz.getMethod(methodName, type); method.invoke(entity, value); } catch (Exception e) { e.printStackTrace(); } } }
/////////////////////////
public class StrUtil { /** * 把字符串的指定字母大写 */ public static String getUpperCharAt(String str, int index) { String result = null; int count = str.length(); if (count > index) { String start = str.substring(0, index); String at = (str.charAt(index) + "").toUpperCase(); String end = str.substring(index + 1); result = start + at + end; } else { Log.d("", "数组越界"); } return result; } /** * 把字符串中的特殊字符转义符转换回特殊字符 */ public static String specialCharParse(String str) { if (StringUtils.isNotBlank(str)) { str = str.replace("#1#", "%"); str = str.replace("#2#", "&"); // str = str.replace("#3#", "$"); } return str; } }
相关推荐
《JsonUtils:强大的Json转换工具类》 在Java开发中,JSON作为一种轻量级的数据交换格式,被广泛用于服务器与客户端之间的数据传输。为了方便开发者处理JSON格式的数据,出现了许多库,如Jackson、Gson、Fastjson等...
JsonUtils是一个基于Gson的工具类,它扩展了Gson的功能,提供了一种更便捷的方式来转换Java对象到JSON字符串,以及从JSON字符串反序列化回Java对象。这个工具类还支持泛型和任意类型的转换,极大地简化了开发过程。 ...
`JsonUtils.toJSONArray(Object obj)` 和 `JsonUtils.toJSONObject(Object obj)` 分别用于将Java集合(如List, Set)转换为JSONArray对象,以及将Java对象转换为JSONObject对象。这对于处理JSON数组非常有用。 4. ...
在这个场景中,我们关注的是一个名为"JsonUtils"的自定义工具类,它提供了几个便捷的方法来简化这个过程。 `JsonUtils`工具类主要包含三个方法: 1. `objectToJson`: 这个方法用于将Java对象转换成JSON格式的字符...
json2bean json2xml json2list json2map
这个"JsonUtils.rar_java jackson解析"压缩包显然包含了使用Jackson进行JSON操作的相关资源和一个名为`JsonUtils.java`的自定义工具类。在这个压缩包中,我们找到了以下四个Jackson库的核心组件: 1. `jackson-...
json数据处理类 将List对象序列化为JSON文本 将对象序列化为JSON文本 将JSON对象数组序列化为JSON文本 将对象转换为List对象 将对象转换为Collection对象 将对象转换为JSON对象数组 将对象转换为JSON对象 ...
以下是对标题"ExceptionUtil.java IDUtils.java JsonUtils.java PictureResult.java"中涉及的知识点的详细说明: 1. **ExceptionUtil.java**: 这个类很可能包含了各种异常处理的静态方法。在Java编程中,异常处理是...
为了方便地处理JSON数据,开发者通常会封装一个工具类,如本例中的`JSONUtils`。这个工具类包含了一系列静态方法,帮助我们将Java对象与JSON格式之间进行转换。下面是对`JSONUtils`工具类中主要方法的详细解释: 1....
Json转对象,对象转Json
提供对象和json之间的相互转换,方便使用,希望能为你提供帮助。
工具类CookieUtils、IdWorker、JsonUtils、NumberUtils Java工具类
untiy操作json,比unity自带的jsonUtils好用多了 文章地址 https://blog.csdn.net/weixin_44568736/article/details/124608578
JSON实用工具 一组简单的JSON包装器 Maven依赖 添加到您的pom.xml < groupId>me.shib.java.lib < artifactId>jsonutils < version>0.0.2 </ dependency>
快速获取复杂JSON中指定key的值,拒绝多次JSON.parseObject和JSONObject.parseObject,快速定位想要的数据!
JsonUtils 是一个工具,主要功能是将 JSON 数据转换为 C#、VB.NET、JavaScript 对象以及 SQL Server 的表格。这个工具对于开发人员来说非常实用,因为它简化了在不同编程语言和数据库之间处理 JSON 格式数据的过程。...
jsonutils 用于 json 对象和 json 对象数组的各种辅助方法 这是一个正在进行的工作 convertNameValueArrayToObject 获取一组名称值对并将其转换为对象 convertObjectToNameValuePairs 的作用与 ...