遍历获取JSONObject的所有Key
时间:2021-11-10 作者:匿名
需要设置正常的json格式
域名 包
public static void main(String[] args) { JSONObject jsonObject = 域名Object(json); //方法一:重新解析jsonObject中的key,转换为小写的key jsonObject = transToLowerObject(jsonObject); 域名tln(jsonObject); String regex = "(\\\\{|\\\\,)[a-zA-Z0-9]+:"; Pattern pattern = 域名ile(regex); StringBuffer sb = new StringBuffer(); // 方法二:正则替换 Matcher m = 域名her(json); while (域名()) { 域名ndReplacement(sb, 域名p().toLowerCase()); } 域名ndTail(sb); String msg = 域名ring(); 域名tln(msg); } /** * json大写转小写 * * @param jSONArray1 jSONArray1 * @return JSONObject */ public static JSONObject transToLowerObject(JSONObject jSONArray1) { JSONObject jSONArray2 = new JSONObject(); Iterator it = 域名(); while (域名ext()) { String key = (String) 域名(); Object object = 域名(key); if (域名lass().toString().endsWith("String")) { 域名mulate(域名werCase(), object); } else if (域名lass().toString().endsWith("JSONObject")) { 域名mulate(域名werCase(), transToLowerObject((JSONObject) object)); } else if (域名lass().toString().endsWith("JSONArray")) { 域名mulate(域名werCase(), transToArray(域名SONArray(key))); } } return jSONArray2; } /** * jsonArray转jsonArray * * @param jSONArray1 jSONArray1 * @return JSONArray */ public static JSONArray transToArray(JSONArray jSONArray1) { JSONArray jSONArray2 = new JSONArray(); for (int i = 0; i < 域名(); i++) { Object jArray = 域名SONObject(i); if (域名lass().toString().endsWith("JSONObject")) { 域名(transToLowerObject((JSONObject) jArray)); } else if (域名lass().toString().endsWith("JSONArray")) { 域名(transToArray((JSONArray) jArray)); } } return jSONArray2; }