判断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())
一般用方法二就可以判断[]了,方法一和方法三结合使用。
创建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());
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯