解析JSONArray为List对象
来源:互联网 发布:linux svn rpm 编辑:程序博客网 时间:2024/06/05 09:53
项目开发中,页面经常会向后台传递一些json格式的字符串,而对json格式字符串的解析又经常会用到
方便起见,就将JSONArray的解析直接提成了一个函数,见下
/** * <p>将JSONArray转换成对象List * * @param jsonArray JSONArray * @param clazz 对象class * @return 对象List * @author ManerFan * */ public static <T> List<T> resolveJSONArray(JSONArray jsonArray, Class<T> clazz) { Object objectList = JSONArray.toArray(jsonArray, clazz); List<T> rtList = new ArrayList<>(); for (int i = 0; i < Array.getLength(objectList); i++) { T addT = clazz.cast(Array.get(objectList, i)); if (null != addT) { rtList.add(addT); } } if (rtList.isEmpty()) { return null; } return rtList; }
前些日子发现,使用上述函数在转换Long型时,必须使用 ["12","346","6793"]这样的形式,即数字必须使用引号引起,否则会抛异常
为了解决这个问题,使用getLong接口,又专门写了一个转换Long数组的函数,如下
public static List<Long> getLongArray4JSONArray(JSONArray jsonArray) { try { List<Long> longArray = new LinkedList<>(); for (int i = 0; i < jsonArray.size(); i++) { longArray.add(jsonArray.getLong(i)); } return longArray; } catch (JSONException e) { LOGGER.error("Cannot get Long(s) from JSON: " + jsonArray.toString(), e); return null; } }这样一来,便可以转换[12, 346, 6793]如此格式的JSONArray了
0 0
- 解析JSONArray为List对象
- JsonArray转换为List
- SpringMVC接收 JSONArray 自动转换为 List对象
- java解析JSONArray对象
- java解析json,并把jsonarray转为list
- JSONArray jsonArray解析
- 解析JSONArray
- JsonArray【】解析
- list转换为JsonArray时,使用JsonValueProcessor处理有关数据类型
- Android开发将List转化为JsonArray和JsonObject
- Android开发将List转化为JsonArray和JsonObject
- Android开发将List转化为JsonArray和JsonObject
- 如何通过Java代码将JsonArray转化为list集合
- JSON解析转化list对象为String时出错
- js遍历拼接list集合对象,JSONArray数组
- 关于JSONArray:JSONArray jsonArray=JSONArray.fromObject(list)不执行!
- 将JSONArray转换为对应的对象数组
- 兔子--java服务器端把对象列表转化为jsonarray
- 《JavaScript权威指南》----第13章 Web浏览器中的JavaScript(1) 学习记录
- 第六周——平面坐标点类
- poj2309 计算完全二叉树中最大节点和最小节点值
- 模式识别 - SVM(support vector machines)公式 简介
- eclipse停使用javaapi连接hbase记录
- 解析JSONArray为List对象
- 泪雨跌湿了青春
- 应该知道的Linux技巧
- 宏定义#define整理
- C/C++ 实现矩阵相乘(二)
- xml sax 解析
- Android更改开机画面
- 第三章作业
- 【Android归纳】回调函数