|
|
@@ -32,7 +32,7 @@ public class JSONUtil {
|
|
|
return builder.toString();
|
|
|
}
|
|
|
|
|
|
- public static <T> String map2JSON(List<Map<String, T>> maps) {
|
|
|
+ public static <T> String map2JSON(List<Map<String, T>> maps) {
|
|
|
if (maps == null || maps.size() <= 0) return "";
|
|
|
StringBuilder builder = new StringBuilder("[\n");
|
|
|
for (Map<String, T> m : maps) {
|
|
|
@@ -146,20 +146,30 @@ public class JSONUtil {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private static boolean satisfyGet(JSONObject object, String... keys) {
|
|
|
+ return !(object == null || keys == null || keys.length <= 0);
|
|
|
+ }
|
|
|
+
|
|
|
public static JSONObject getJSONObject(JSONObject object, String... keys) {
|
|
|
- try {
|
|
|
- String obj = getDataForJson(object, keys);
|
|
|
- return !validateJSONObject(obj) ? new JSONObject() : JSON.parseObject(obj);
|
|
|
- } catch (Exception e) {
|
|
|
- return new JSONObject();
|
|
|
+ if (satisfyGet(object, keys)) {
|
|
|
+ try {
|
|
|
+ for (String key : keys) {
|
|
|
+ if (key != null && object.containsKey(key) && object.get(key) != null && object.get(key) instanceof JSONObject) {
|
|
|
+ return object.getJSONObject(key);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ return new JSONObject();
|
|
|
+ }
|
|
|
}
|
|
|
+ return new JSONObject();
|
|
|
}
|
|
|
|
|
|
public static JSONArray getJSONArray(JSONObject object, String... keys) {
|
|
|
try {
|
|
|
if (object == null || keys == null || keys.length <= 0) return new JSONArray();
|
|
|
for (String key : keys) {
|
|
|
- if (object.containsKey(key)&&object.get(key) instanceof JSONArray){
|
|
|
+ if (object.containsKey(key) && object.get(key) instanceof JSONArray) {
|
|
|
return object.getJSONArray(key);
|
|
|
}
|
|
|
}
|