Commit e8cd979bd4195d1e9fd43bcafd20a169bf1dd8b5
1 parent
cb385326
Exists in
master
1.完善jsonutil方法
Showing
2 changed files
with
39 additions
and
1 deletions
Show diff stats
build.gradle
src/main/java/com/taover/util/UtilJSON.java
| ... | ... | @@ -57,6 +57,44 @@ public class UtilJSON { |
| 57 | 57 | } |
| 58 | 58 | } |
| 59 | 59 | |
| 60 | + public static void replaceJsonNull(JSONObject data, Object target){ | |
| 61 | + if(data == null || data.isNullObject()){ | |
| 62 | + return; | |
| 63 | + } | |
| 64 | + Iterator<String> keyIter = data.keys(); | |
| 65 | + while(keyIter.hasNext()){ | |
| 66 | + String keyItem = keyIter.next(); | |
| 67 | + Object value = data.get(keyItem); | |
| 68 | + | |
| 69 | + if(isJsonNull(value)) { | |
| 70 | + data.put(keyItem, target); | |
| 71 | + } | |
| 72 | + | |
| 73 | + if(value instanceof JSONObject){ | |
| 74 | + replaceJsonNull((JSONObject)value, target); | |
| 75 | + continue; | |
| 76 | + } | |
| 77 | + | |
| 78 | + if(value instanceof JSONArray){ | |
| 79 | + replaceJsonNull((JSONArray)value, target); | |
| 80 | + } | |
| 81 | + } | |
| 82 | + } | |
| 83 | + | |
| 84 | + public static void replaceJsonNull(JSONArray dataArr, Object target){ | |
| 85 | + if(dataArr == null){ | |
| 86 | + return; | |
| 87 | + } | |
| 88 | + for(int i=0; i<dataArr.size(); ++i){ | |
| 89 | + JSONObject dataItem = dataArr.optJSONObject(i); | |
| 90 | + if(dataItem.isNullObject()){ | |
| 91 | + dataArr.set(i, target); | |
| 92 | + continue; | |
| 93 | + } | |
| 94 | + removeJsonNull(dataItem); | |
| 95 | + } | |
| 96 | + } | |
| 97 | + | |
| 60 | 98 | public static void main(String[] args){ |
| 61 | 99 | JSONObject data = JSONObject.fromObject("{\"message\":\"文字解析成功\",\"status\":true,\"statusCode\":\"null\",\"result\":{\"items\":[{\"district\":\"隆化县\",\"city\":\"承德市\",\"province\":\"河北省\",\"phone\":\"13621051230\",\"name\":{\"first_name\":\"wang\",\"second_name\":\"bin\",\"full_name\":null},\"address\":\"东阿超村\"}]}}"); |
| 62 | 100 | removeJsonNull(data); | ... | ... |