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; } }


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