map转为json对象(map转换为json对象)

map转为json对象(map转换为json对象)package cn okek util import java util ArrayList import java util Iterator import java util List import java util Map import java util Map Entry import java util TreeMap import org json

大家好,我是讯享网,很高兴认识大家。

package cn.okek.util;

import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.TreeMap;

import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;

/


讯享网

  • 实用工具包
  • @author 周文鹏
  • @date 2014-1-21 */ public class JsonKit {

    /

    • 将list转为json
    • @param lists
    • @param sb
    • @return */ public static StringBuilder listToJson(List<?> lists, StringBuilder sb) { if (sb == null) sb = new StringBuilder(); sb.append("["); for (int i = 0; i < lists.size(); i++) { Object o = lists.get(i); if (o instanceof Map<?, ?>) { Map<?, ?> map = (Map<?, ?>) o; mapToJson(map, sb); } else if (o instanceof List<?>) { List<?> l = (List<?>) o; listToJson(l, sb); } else { sb.append(""" + o + """); } if (i != lists.size() - 1) sb.append(","); } sb.append("]"); return sb; }

    /

    • 将map转为json
    • @param map
    • @param sb
    • @return */ public static StringBuilder mapToJson(Map<?, ?> map, StringBuilder sb) { if (sb == null) sb = new StringBuilder(); sb.append("{"); Iterator<?> iter = map.entrySet().iterator(); while (iter.hasNext()) { Entry<?, ?> entry = (Entry<?, ?>) iter.next(); String key = entry.getKey() != null ? entry.getKey().toString() : ""; sb.append(""" + stringToJson(key) + "":"); Object o = entry.getValue(); if (o instanceof List<?>) { List<?> l = (List<?>) o; listToJson(l, sb); } else if (o instanceof Map<?, ?>) { Map<?, ?> m = (Map<?, ?>) o; mapToJson(m, sb); } else { String val = entry.getValue() != null ? entry.getValue().toString() : ""; sb.append(""" + stringToJson(val) + """); } if (iter.hasNext()) sb.append(","); } sb.append("}"); return sb; }

    /

    • 将字符串转为json数据
    • @param str 数据字符串
    • @return json字符串 */ public static String stringToJson(String str) {
      StringBuffer sb = new StringBuffer();
      for (int i = 0; i < str.length(); i++) {
      char c = str.charAt(i);
      switch © {
      case ‘"’:
      sb.append(""");
      break;
      case ‘\’:
      sb.append("\");
      break;
      case ‘/’:
      sb.append("\/");
      break;
      case ‘b’:
      sb.append("\b");
      break;
      case ‘f’:
      sb.append("\f");
      break;
      case ‘ ‘:
      sb.append("\n");
      break;
      case ’ ‘:
      sb.append("\r");
      break;
      case ’ ‘:
      sb.append("\t");
      break;
      default:
      sb.append©;
      }
      }
      return sb.toString();
      }




































































































    /

    • JsonArray转List
    • @param jsonArr
    • @return
    • @throws JSONException */ public static List<Object> jsonToList(JSONArray jsonArr) throws JSONException { List<Object> jsonToMapList = new ArrayList<Object>(); for (int i = 0; i < jsonArr.length(); i++) { Object object = jsonArr.get(i); if (object instanceof JSONArray) { jsonToMapList.add(jsonToList((JSONArray) object)); } else if (object instanceof JSONObject) { jsonToMapList.add(jsonToMap((JSONObject) object)); } else { jsonToMapList.add(object); } } return jsonToMapList; }

    /

    • JsonObject转Map
    • @param jsonObj
    • @return
    • @throws JSONException */ public static Map<String, Object> jsonToMap(JSONObject jsonObj) throws JSONException { Map<String, Object> jsonMap = new TreeMap<String, Object>(); Iterator<?> jsonKeys = jsonObj.keys(); while (jsonKeys.hasNext()) { String jsonKey = (String) jsonKeys.next(); Object jsonValObj = jsonObj.get(jsonKey); if (jsonValObj instanceof JSONArray) { jsonMap.put(jsonKey, jsonToList((JSONArray) jsonValObj)); } else if (jsonValObj instanceof JSONObject) { jsonMap.put(jsonKey, jsonToMap((JSONObject) jsonValObj)); } else { jsonMap.put(jsonKey, jsonValObj); } } return jsonMap; } }
小讯
上一篇 2025-05-11 18:12
下一篇 2025-04-24 10:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/196531.html