永发信息网

判断json内有多少个数组

答案:2  悬赏:0  手机版
解决时间 2021-03-05 23:46
  • 提问者网友:夢醒日落
  • 2021-03-05 02:31
判断json内有多少个数组
最佳答案
  • 五星知识达人网友:山有枢
  • 2021-03-05 02:52
一共有三种方式。
创建JSONArray jsonarray=new JSONArray ();
方法一:判断对象是否为空 jsonarray!=null
方法二:JSONArray是集合、数组可以用jsonarray.length()>0
方法三:jsonarray.toString()是否是“”空字符串,!“”.equals(jsonarray.toString())
一般用方法二就可以判断[]了,方法一和方法三结合使用。
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-03-05 02:58
public static void main(string[] args) { string string = "[{\"depid\":\"5\",\"score\":\"10\"},{\"depid\":\"4\",\"score\":\"40\"},{\"depid\":\"4\",\"score\":\"30\"},{\"depid\":\"5\",\"score\":\"30\"}]"; jsonarray fromobject = jsonarray.fromobject(string); map map = new hashmap(); for (object object : fromobject) { jsonobject jsonobject = (jsonobject) object; string depid = (string)jsonobject.get("depid"); integer score = integer.valueof((string)jsonobject.get("score")); if (map.containskey(depid)) { int integer = map.get(depid); map.put(depid, integer+score); } else { map.put(depid, score); } } set> entryset = map.entryset(); jsonarray jsonarray = new jsonarray(); for (entry entry : entryset) { jsonobject jsonobject = new jsonobject(); jsonobject.put("depid",entry.getkey()); jsonobject.put("score",string.valueof(entry.getvalue())); jsonarray.add(jsonobject); } system.out.println(jsonarray.tostring()); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯