根据value值获取key
public static List<Object> getKey(JSONObject jsonObject, String value) {
String keyValue = "";
Iterator<String> keys = jsonObject.keySet().iterator();// jsonObject.keys();
List<Object> arrayList= new ArrayList();
while (keys.hasNext()) {
String key = keys.next();
if (jsonObject.get(key) instanceof String) {
if (((String) jsonObject.get(key)).equals(value)) {
keyValue = key.toString();
arrayList.add(keyValue);
}
}
// else if (jsonObject.get(key) instanceof JSONObject) {
// JSONObject innerObject = (JSONObject) jsonObject.get(key);
// keyValue = getKey(innerObject, value);
// if (!keyValue.equals("")) {
// arrayList.add(keyValue);
// }
// } else if (jsonObject.get(key) instanceof JSONArray) {
// JSONArray innerObject = (JSONArray) jsonObject.get(key);
// keyValue = getKey_(innerObject, key, value);
// if (!keyValue.equals("")) {
// arrayList.add(keyValue);
// }
// } else if (jsonObject.get(key) instanceof Integer) {
// if ((jsonObject.get(key).toString()).equals(value)) {
// keyValue = key.toString();
// arrayList.add(keyValue);
// }
// }
}
return arrayList;
}
//
// public static String getKey_(JSONArray json1, String key, String value) {
// String keyValue = "";
// if (json1 != null) {
// Iterator<Object> i1 = json1.iterator();
// while (i1.hasNext()) {
// Object ele = i1.next();
// if (ele instanceof JSONObject) {
// JSONObject innerObject = (JSONObject) ele;
// keyValue = getKey(innerObject, value);
// if (!keyValue.equals("")) {
// }
// } else if (ele instanceof JSONArray) {
// JSONArray innerObject = (JSONArray) ele;
// keyValue = getKey_(innerObject, key, value);
// if (!keyValue.equals("")) {
//
// }
// } else if (ele instanceof String) {
// String innerObject = (String) ele;
// if (innerObject.equals(value)) {
// keyValue = key;
//
// }
// } else if (ele instanceof Integer) {
// Integer innerObject = (Integer) ele;
// if (innerObject.toString().equals(value)) {
// keyValue = key;
//
// }
// }
// }
// }
// return keyValue;
// }
这段代码是一个Java方法,用于在JSONObject中递归搜索指定value的key并将其添加到结果列表中。方法首先迭代jsonObject的所有key,检查value是否为字符串并与目标值匹配。如果匹配,则将key添加到结果列表。对于更复杂的类型如JSONObject和JSONArray,方法还进行了递归处理。此方法适用于处理嵌套的JSON结构。
1364

被折叠的 条评论
为什么被折叠?



