<tfoot id='JZpd0'></tfoot>
      <legend id='JZpd0'><style id='JZpd0'><dir id='JZpd0'><q id='JZpd0'></q></dir></style></legend>

      <small id='JZpd0'></small><noframes id='JZpd0'>

      <i id='JZpd0'><tr id='JZpd0'><dt id='JZpd0'><q id='JZpd0'><span id='JZpd0'><b id='JZpd0'><form id='JZpd0'><ins id='JZpd0'></ins><ul id='JZpd0'></ul><sub id='JZpd0'></sub></form><legend id='JZpd0'></legend><bdo id='JZpd0'><pre id='JZpd0'><center id='JZpd0'></center></pre></bdo></b><th id='JZpd0'></th></span></q></dt></tr></i><div id='JZpd0'><tfoot id='JZpd0'></tfoot><dl id='JZpd0'><fieldset id='JZpd0'></fieldset></dl></div>

        • <bdo id='JZpd0'></bdo><ul id='JZpd0'></ul>

        JAVA中JSONObject对象和Map对象之间的相互转换

        时间:2023-12-10
        • <i id='oUcd6'><tr id='oUcd6'><dt id='oUcd6'><q id='oUcd6'><span id='oUcd6'><b id='oUcd6'><form id='oUcd6'><ins id='oUcd6'></ins><ul id='oUcd6'></ul><sub id='oUcd6'></sub></form><legend id='oUcd6'></legend><bdo id='oUcd6'><pre id='oUcd6'><center id='oUcd6'></center></pre></bdo></b><th id='oUcd6'></th></span></q></dt></tr></i><div id='oUcd6'><tfoot id='oUcd6'></tfoot><dl id='oUcd6'><fieldset id='oUcd6'></fieldset></dl></div>

              <bdo id='oUcd6'></bdo><ul id='oUcd6'></ul>
              <tfoot id='oUcd6'></tfoot>
            • <small id='oUcd6'></small><noframes id='oUcd6'>

              <legend id='oUcd6'><style id='oUcd6'><dir id='oUcd6'><q id='oUcd6'></q></dir></style></legend>
                  <tbody id='oUcd6'></tbody>

                  Java中,JSONObject对象和Map对象是两种常用的数据结构,本篇攻略将介绍JSONObject对象和Map对象相互转换的方法。

                  什么是JSONObject对象和Map对象

                  JSONObject对象

                  JSONObject 是一个能够存储 key-value 映射的简单的开放解决方案。 JSONObject 的 constructor 支持通过传入一个 Map 对象,将 Map 对象转换成 JSONObject 对象。 JSONObject 对象通常用于解析 JSON 字符串,使得 JSON 数据在 Java 程序中易于使用。

                  Map对象

                  Map 是一个key-value映射的接口。Map 的实现类可以看做一个散列表,也称为哈希表。每一个Key都对应了一个Value。Map 通常用来存储一些键值对(key-value pair), 并根据key快速获取value。

                  JSONObject对象转Map对象

                  我们可以通过 JSONObject 对象的 toMap 方法将 JSONObject 转换成 Map 对象:

                  import org.json.JSONObject;
                  import java.util.Map;
                  
                  public class JsonMapConvert {
                  
                      public static Map<String, Object> jsonToMap(JSONObject json) {
                          Map<String, Object> retMap = new HashMap<String, Object>();
                          if (json != null) {
                              retMap = toMap(json);
                          }
                          return retMap;
                      }
                  
                      public static Map<String, Object> toMap(JSONObject object) {
                          Map<String, Object> map = new HashMap<String, Object>();
                          Iterator<String> keysItr = object.keys();
                          while(keysItr.hasNext()) {
                              String key = keysItr.next();
                              Object value = object.get(key);
                  
                              if(value instanceof JSONArray) {
                                  value = toList((JSONArray) value);
                              }
                  
                              else if(value instanceof JSONObject) {
                                  value = toMap((JSONObject) value);
                              }
                              map.put(key, value);
                          }
                          return map;
                      }
                  }
                  

                  这里使用了 JSONObject 对象的 keysget 方法来获取 key-value 映射并转换成 Map 对象。

                  示例:

                  import org.json.JSONObject;
                  import java.util.HashMap;
                  import java.util.Iterator;
                  import java.util.Map;
                  
                  public class Demo {
                  
                      public static void main(String[] args){
                  
                          JSONObject jsonObj = new JSONObject();
                          jsonObj.put("name", "张三");
                          jsonObj.put("age", 18);
                          jsonObj.put("address", "北京市海淀区");
                  
                          Map<String,Object> map = JsonMapConvert.jsonToMap(jsonObj);
                  
                          System.out.println(map.get("name")); // 张三
                          System.out.println(map.get("age"));  // 18
                          System.out.println(map.get("address")); // 北京市海淀区
                  
                      }
                  }
                  

                  上面的代码示例中,我们首先创建了一个 JSONObject 对象并添加了三个键值对,然后使用 JsonMapConvert 类的 jsonToMap 方法将 JSONObject 对象转换成 Map 对象,最后通过 map 对象获取键值对的值。

                  Map对象转JSONObject对象

                  通过put方法将Map置入到JSONObject中即可实现Map转JSONObject,如下所示:

                  import org.json.JSONObject;
                  import java.util.HashMap;
                  import java.util.Map;
                  
                  public class MapToJsonConvert {
                  
                      public static JSONObject toJSONObject(Map map) {
                          return new JSONObject(map);
                      }
                  
                  }
                  

                  示例:

                  import org.json.JSONObject;
                  import java.util.HashMap;
                  import java.util.Iterator;
                  import java.util.Map;
                  
                  public class Demo {
                  
                      public static void main(String[] args){
                  
                          Map<String,Object> map = new HashMap<String,Object>();
                          map.put("name", "张三");
                          map.put("age", 18);
                          map.put("address", "北京市海淀区");
                  
                          JSONObject jsonObj = MapToJsonConvert.toJSONObject(map);
                  
                          System.out.println(jsonObj.toString());
                      }
                  
                  }
                  
                  

                  上面的代码示例中,我们首先创建了一个 Map 对象并添加了三个键值对,然后使用 MapToJsonConvert 类的 toJSONObject 方法将 Map 对象转换成 JSONObject 对象,最后将 JSONObject 对象打印输出。

                  上一篇:使用@JsonFormat和@DateTimeFormat对Date格式化操作 下一篇:java中JSONArray互相转换List的实现

                  相关文章

                • <tfoot id='pcuhK'></tfoot>
                • <legend id='pcuhK'><style id='pcuhK'><dir id='pcuhK'><q id='pcuhK'></q></dir></style></legend>
                    • <bdo id='pcuhK'></bdo><ul id='pcuhK'></ul>

                    <small id='pcuhK'></small><noframes id='pcuhK'>

                  1. <i id='pcuhK'><tr id='pcuhK'><dt id='pcuhK'><q id='pcuhK'><span id='pcuhK'><b id='pcuhK'><form id='pcuhK'><ins id='pcuhK'></ins><ul id='pcuhK'></ul><sub id='pcuhK'></sub></form><legend id='pcuhK'></legend><bdo id='pcuhK'><pre id='pcuhK'><center id='pcuhK'></center></pre></bdo></b><th id='pcuhK'></th></span></q></dt></tr></i><div id='pcuhK'><tfoot id='pcuhK'></tfoot><dl id='pcuhK'><fieldset id='pcuhK'></fieldset></dl></div>