JSON処理ツール類


import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.collections.map.ListOrderedMap;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.*;

/**
 *   json    .
 */
public class JsonUtil {
    /**
     * json  list.
     * 
* * @param jsonStr json * @return List> list * @throws */ public static List> parseJSON2List(String jsonStr) { JSONArray jsonArr = JSONArray.fromObject(jsonStr); List> list = new ArrayList>(); Iterator it = jsonArr.iterator(); while (it.hasNext()) { JSONObject json2 = it.next(); list.add(parseJSON2Map(json2.toString())); } return list; } /** * json map. *
* * @param jsonStr json * @return Map * @throws */ public static Map parseJSON2Map(String jsonStr) { ListOrderedMap map = new ListOrderedMap(); // JSONObject json = JSONObject.fromObject(jsonStr); for (Object k : json.keySet()) { Object v = json.get(k); // , if (v instanceof JSONArray) { List> list = new ArrayList>(); Iterator it = ((JSONArray) v).iterator(); while (it.hasNext()) { JSONObject json2 = it.next(); list.add(parseJSON2Map(json2.toString())); } map.put(k.toString(), list); } else { map.put(k.toString(), v); } } return map; } /** * HTTP JSON . *
HTTP JSON list * * @param url * @return List> list * @throws */ public static List> getListByUrl(String url) { try { // HTTP JSON InputStream in = new URL(url).openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder sb = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { sb.append(line); } return parseJSON2List(sb.toString()); } catch (Exception e) { e.printStackTrace(); } return null; } /** * HTTP JSON . *
HTTP JSON map * * @param url * @return Map * @throws */ public static Map getMapByUrl(String url) { try { // HTTP JSON InputStream in = new URL(url).openStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder sb = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { sb.append(line); } return parseJSON2Map(sb.toString()); } catch (Exception e) { e.printStackTrace(); } return null; } /** * map json. *
* * @param map * @return String json * @throws */ public static String mapToJson(Map map) { Set keys = map.keySet(); String key = ""; String value = ""; StringBuffer jsonBuffer = new StringBuffer(); jsonBuffer.append("{"); for (Iterator it = keys.iterator(); it.hasNext(); ) { key = (String) it.next(); value = map.get(key); jsonBuffer.append(key + ":" + "\"" + value + "\""); if (it.hasNext()) { jsonBuffer.append(","); } } jsonBuffer.append("}"); return jsonBuffer.toString(); } }