public static String getJSONFromMap(Map<String, String> map) { String result = null; if (map != null) { try { JSONObject jsonObject = new JSONObject(); for (Entry<String, String> entry : map.entrySet()) { jsonObject.put(entry.getKey(), entry.getValue()); } result = jsonObject.toString(); } catch (JSONException e) { // log } } return result; }
/** * Write the contents of the JSONObject as JSON text to a writer. For compactness, no whitespace * is added. * * <p>Warning: This method assumes that the data structure is acyclical. * * @return The writer. * @throws JSONException */ public Writer write(Writer writer) throws JSONException { try { boolean b = false; Iterator keys = keys(); writer.write('{'); while (keys.hasNext()) { if (b) { writer.write(','); } Object k = keys.next(); writer.write(quote(k.toString())); writer.write(':'); Object v = this.myHashMap.get(k); if (v instanceof JSONObject) { ((JSONObject) v).write(writer); } else if (v instanceof JSONArray) { ((JSONArray) v).write(writer); } else { writer.write(valueToString(v)); } b = true; } writer.write('}'); return writer; } catch (IOException e) { throw new JSONException(e); } }
public static Map<String, String> getMapFromJSON(String jsonString) { Map<String, String> descriptions = new HashMap<String, String>(); if (jsonString != null) { try { JSONObject jsonObject = new JSONObject(jsonString); @SuppressWarnings("unchecked") Iterator<String> keyIterator = jsonObject.keys(); while (keyIterator.hasNext()) { String type = (String) keyIterator.next(); descriptions.put(type, jsonObject.getString(type)); } } catch (JSONException e) { // log } } return descriptions; }
/** * Construct a JSONObject from a subset of another JSONObject. An array of strings is used to * identify the keys that should be copied. Missing keys are ignored. * * @param jo A JSONObject. * @param sa An array of strings. * @throws JSONException If a value is a non-finite number. */ public JSONObject(JSONObject jo, String[] sa) throws JSONException { this(); for (int i = 0; i < sa.length; i += 1) { putOpt(sa[i], jo.opt(sa[i])); } }