i building a json object that consists of nameValue pairs defined in a Hashmap
the issue i am having is when i invoke:
jsonObject.put(hashmap);
Use JSON's putAll.
Map<String, Object> myMap = new HashMap<String, Object>();
JSONObject jsonObject = new JSONObject();
jsonObject.putAll(myMap);
Use JSONObject constructor. DON"T CREATE YOUR OWN since you might miss some cases such when the value is an array.
JSONObject jsonObject = new JSONObject(hashMap);
This is actually a complete solution since it covers for corner cases such as where the value is an array. Thus, it will make it as JSONArray for you.
Iterate through the HashMap and put to the jsonObject:
Iterator it = mp.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry)it.next();
jsonObject.put(pairs.getKey(), pairs.getValue() );
}