由于工作项目的关系,不能导入外部jar包,现有的JSONObject是org.json.JSONObject下的
3条回答 默认 最新
- threenewbee 2015-08-17 22:42关注
public static void main(String[] args) { String str = "{'TI':[{'value':'aa1','count':10},{'value':'aa2','count':15},{'value':'aa3','count':20}]," + "'AB':[{'value':'ab','count':110},{'value':'ab2','count':115},{'value':'ab3','count':210}]}"; JSONArray newArray = new JSONArray(); JSONObject newJson = new JSONObject(); try { JSONObject obj = new JSONObject(str); Iterator it = obj.keys(); while (it.hasNext()) { String key = (String) it.next(); String value = obj.getString(key); JSONArray array = obj.getJSONArray(key); for(int i=0;i<array.length();i++){ JSONObject jsonobject = array.getJSONObject(i); jsonobject.put("name", key); jsonobject.put("exp", key+"="+jsonobject.getString("value")); newArray.put(jsonobject); } } newJson.put("groups",newArray); System.out.println(newJson); } catch (JSONException e) { e.printStackTrace(); } }
解析json
然后排序JSONArray mJSONArray; protected void sortJsonArrayByDate(String dateName){ List<JSONObject> list = new ArrayList<JSONObject> (); JSONObject jsonObj = null; for (int i = 0; i < mJSONArray.length(); i++) { jsonObj = mJSONArray.optJSONObject(i); list.add(jsonObj); } //排序操作 JsonComparator pComparator = new JsonComparator(dateName); Collections.sort(list, pComparator); //把数据放回去 mJSONArray = new JSONArray(); for (int i = 0; i < list.size(); i++) { jsonObj = list.get(i); mJSONArray.put(jsonObj); } } public class JsonComparator implements Comparator<JSONObject>{ String dateName = ""; JsonComparator(String dateName){ this.dateName = dateName; } @Override public int compare(JSONObject json1, JSONObject json2){ String date1 = json1.optString(dateName); String date2 = json2.optString(dateName); if(date1.compareTo(date2) < 0){ return 1; }else if(date1.compareTo(date2) >0){ return -1; } return 0; } }
解决 无用评论 打赏 举报
悬赏问题
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 基于卷积神经网络的声纹识别
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图