The JSONObject and JSONArray APIs are a bit limited; it would be nice to be able to easily do the following:
- add all keys/values from a Map to a JSONObject
- add all values from a List or Iterable to a JSONArray
- expose the contents of a JSONArray as an unmodifiable List
- easier navigate/build in a JSONObject (that is, navigate to a nested object, creating it if necessary)
With a growing emphasis on JSON for client communication, these changes are necessary to keep user code a simple, stable, and clear as possible.