获取JSONObject里所有key
发布时间:2020-12-16 19:04:01 所属栏目:百科 来源:网络整理
导读:在使用net.sf.json.JSONObject的过程中想到需要遍历JSONObject里的所有key-value的key集合,开始以为通过iterator()可以遍历,或者有相应的keySets()方法,结果发现JSONObject并没有提供能够获取到JSONObject里所有key的方法,所以决定自己写一个方法能够遍
在使用net.sf.json.JSONObject的过程中想到需要遍历JSONObject里的所有key-value的key集合,开始以为通过iterator()可以遍历,或者有相应的keySets()方法,结果发现JSONObject并没有提供能够获取到JSONObject里所有key的方法,所以决定自己写一个方法能够遍历所有的key的方法。 典型的JSON格式如下: String s = "{'age':22,'sex':'男','userName':'xiapi'}"; String s1 = "{"age':22,"sex":'男',"userName":'xiapi'}"; /** * 得到JSONObject里的所有key * @param jsonObject JSONObject实例对象 * @return Set */ public static Set<String> getAllKeys(JSONObject jsonObject) { return getAllKeys(jsonObject.toString()); } /** * 从JSON字符串里得到所有key * @param jsonString json字符串 * @return Set */ public static Set<String> getAllKeys(String jsonString) { Set<String> set = getHashSetInstance(); //按照","将json字符串分割成String数组 String[] keyValue = jsonString.split(","); for(int i=0; i<keyValue.length; i++) { String s = keyValue[i]; //找到":"所在的位置,然后截取 int index = s.indexOf(":"); //第一个字符串因带有json的"{",需要特殊处理 if(i==0) { set.add(s.substring(2,index-1)); } else { set.add(s.substring(1,index-1)); } } return set; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |