tianyun vor 2 Jahren
Ursprung
Commit
a0a1d89992

+ 0 - 18
springboot-main/src/main/java/com/alvin/util/ListUtil.java

@@ -1,18 +0,0 @@
-package com.alvin.util;
-
-import java.util.ArrayList;
-import java.util.Collections;
-
-public class ListUtil {
-    public static <T> ArrayList<T> newList(T... list) {
-        ArrayList<T> strings = new ArrayList<>();
-        Collections.addAll(strings, list);
-        return strings;
-    }
-
-    public static void main(String[] args) {
-        ArrayList<Integer> integers = newList(1, 2, 3);
-        ArrayList<String> strings = newList("323", "2234");
-        System.out.println(integers);
-    }
-}

+ 13 - 0
springboot-main/src/main/java/com/alvin/util/Lists.java

@@ -0,0 +1,13 @@
+package com.alvin.util;
+
+import java.util.ArrayList;
+
+public class Lists {
+    public static <T> ArrayList<T> of(T... elements) {
+        ArrayList<T> list = new ArrayList<>();
+        for (T element : elements) {
+            list.add(element);
+        }
+        return list;
+    }
+}

+ 0 - 27
springboot-main/src/main/java/com/alvin/util/MapBuilder.java

@@ -1,27 +0,0 @@
-package com.alvin.util;
-
-import java.util.HashMap;
-
-public class MapBuilder<T> {
-    private HashMap<String, T> map = new HashMap<>();
-
-    public MapBuilder() {
-    }
-
-    public MapBuilder<T> put(String key, T t) {
-        this.map.put(key, t);
-        return this;
-    }
-
-    public HashMap<String, T> build() {
-        return this.map;
-    }
-
-    public static void main(String[] args) {
-        HashMap<String, String> build = new MapBuilder<String>()
-                .put("test", "hhhhhh")
-                .put("hhh", "test2")
-                .build();
-        System.out.println(build);
-    }
-}

+ 16 - 0
springboot-main/src/main/java/com/alvin/util/Maps.java

@@ -0,0 +1,16 @@
+package com.alvin.util;
+
+import java.util.HashMap;
+
+public class Maps {
+    
+    public static <K, V> HashMap<K, V> of(K key, V value, Object... more) {
+        HashMap<K, V> map = new HashMap<>();
+        map.put(key, value);
+        for (int i = 0; i < more.length; i += 2) {
+            map.put((K) more[i], (V) more[i + 1]);
+        }
+        return map;
+    }
+    
+}

+ 44 - 0
test1/src/main/java/JsonParser1.java

@@ -0,0 +1,44 @@
+import java.util.ArrayList;
+import java.util.HashMap;
+
+public class JsonParser1 {
+    public static String[] getFields(HashMap<String, Object> jsonObject, String jsonPath) {
+        String[] keys = jsonPath.split("\\.");
+        Object currentObject = jsonObject;
+
+        for (String key : keys) {
+            if (currentObject instanceof HashMap) {
+                currentObject = ((HashMap<?, ?>) currentObject).get(key);
+            } else {
+                // Invalid JSON path or key not found
+                return new String[0];
+            }
+        }
+
+        if (currentObject instanceof HashMap) {
+            ArrayList<String> fieldKeys = new ArrayList<>();
+            for (Object fieldKey : ((HashMap<?, ?>) currentObject).keySet()) {
+                fieldKeys.add(fieldKey.toString());
+            }
+            return fieldKeys.toArray(new String[0]);
+        }
+
+        // Invalid JSON path or key not found
+        return new String[0];
+    }
+
+    public static void main(String[] args) {
+        HashMap<String, Object> json = new HashMap<>();
+        HashMap<String, Object> data = new HashMap<>();
+        HashMap<String, Object> tag = new HashMap<>();
+        tag.put("a", "b");
+        tag.put("c", "d");
+        data.put("tag", tag);
+        json.put("data", data);
+
+        String jsonPath = "data.tag";
+
+        String[] fields = getFields(json, jsonPath);
+        System.out.println("Fields: " + String.join(", ", fields));
+    }
+}