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

      1. <legend id='Uu571'><style id='Uu571'><dir id='Uu571'><q id='Uu571'></q></dir></style></legend>

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

        <tfoot id='Uu571'></tfoot>

        详解Java实现JSONArray转Map的三种实现方式

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

          1. <legend id='aa6Wr'><style id='aa6Wr'><dir id='aa6Wr'><q id='aa6Wr'></q></dir></style></legend>
              • <small id='aa6Wr'></small><noframes id='aa6Wr'>

                  详解Java实现JSONArray转Map的三种实现方式

                  本文将详细介绍Java中实现JSONArray转Map的三种方法,其中包括使用JSONObject、Gson和Jackson三种方式实现。首先,我们需要使用以下的引入语句:

                  import com.alibaba.fastjson.JSONArray;
                  import com.alibaba.fastjson.JSONObject;
                  
                  import com.google.gson.Gson;
                  import com.google.gson.reflect.TypeToken;
                  
                  import com.fasterxml.jackson.databind.ObjectMapper;
                  

                  使用JSONObject实现JSONArray转Map

                  使用JSONObject实现JSONArray转Map,首先需要将JSONArray对象遍历,然后逐个构建JSONObject对象。最后,我们通过在循环中使用keySet()和get()方法将JSONObject对象的键值对存储在Map中。以下是示例代码:

                  public Map<String, Object> jsonArrayToMapByJSONObject(JSONArray jsonArray) {
                      Map<String, Object> map = new HashMap<>(16);
                  
                      for (int i = 0; i < jsonArray.size(); i++) {
                          JSONObject jsonObject = jsonArray.getJSONObject(i);
                  
                          for (String key : jsonObject.keySet()) {
                              map.put(key, jsonObject.get(key));
                          }
                      }
                  
                      return map;
                  }
                  

                  使用Gson实现JSONArray转Map

                  使用Gson实现JSONArray转Map,只需要一行代码即可完成转换。我们只需要使用fromJson方法将JSONArray转换为Map即可。以下是示例代码:

                  public Map<String, Object> jsonArrayToMapByGson(JSONArray jsonArray) {
                      return new Gson().fromJson(jsonArray.toJSONString(), new TypeToken<Map<String, Object>>(){}.getType());
                  }
                  

                  使用Jackson实现JSONArray转Map

                  使用Jackson实现JSONArray转Map,需要先将JSONArray转换为String类型,然后将String类型转换为Map。以下是示例代码:

                  public Map<String, Object> jsonArrayToMapByJackson(JSONArray jsonArray) {
                      Map<String, Object> map = new HashMap<>(16);
                  
                      try {
                          ObjectMapper objectMapper = new ObjectMapper();
                          map = objectMapper.readValue(jsonArray.toJSONString(), new TypeReference<Map<String, Object>>() {});
                      } catch (JsonProcessingException e) {
                          e.printStackTrace();
                      }
                  
                      return map;
                  }
                  

                  示例说明

                  我们可以使用以下的JSONArray作为示例,对三种方法进行测试:

                  JSONArray jsonArray = JSONArray.parseArray(
                          "[{\"name\":\"Jack\",\"age\":20,\"sex\":\"Man\"}," +
                          "{\"name\":\"Lucas\",\"age\":18,\"sex\":\"Man\"}," +
                          "{\"name\":\"Adam\",\"age\":22,\"sex\":\"Woman\"}]");
                  

                  使用三种方法转换数组的结果如下:

                  使用JSONObject实现:
                  {name=Adam, age=22, sex=Woman}
                  
                  使用Gson实现:
                  {name=Adam, age=22.0, sex=Woman}
                  
                  使用Jackson实现:
                  {name=Adam, age=22, sex=Woman}
                  

                  可以发现,三种方法均能够将JSONArray转换为Map,但在一些数据类型的转换上略有不同。因此,在实际开发中,需要根据需求选择不同的方式进行JSONArray转Map的实现。

                  上一篇:JavaScript反射与依赖注入实例详解 下一篇:Android自定义View仿腾讯TIM下拉刷新View

                  相关文章

                    <bdo id='dywgD'></bdo><ul id='dywgD'></ul>

                  <tfoot id='dywgD'></tfoot>

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

                  1. <legend id='dywgD'><style id='dywgD'><dir id='dywgD'><q id='dywgD'></q></dir></style></legend>

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