src/main/java/com/cedarsoftware/util/io/JsonReader.java
public static Map jsonToMaps(InputStream inputStream, Map<String, Object> optionalArgs)
    {
        if (optionalArgs == null)
        {
            optionalArgs = new HashMap<String, Object>();
        }
        optionalArgs.put(USE_MAPS, true);
        JsonReader jr = new JsonReader(inputStream, optionalArgs);
        Object ret = jr.readObject();
        jr.close();

        return adjustOutputMap(ret);
    }
public static Map jsonToMaps(InputStream inputStream, Map<String, Object> optionalArgs)
    {
        if (optionalArgs == null)
        {
            optionalArgs = new HashMap<String, Object>();
        }
        optionalArgs.put(USE_MAPS, true);
        JsonReader jr = new JsonReader(inputStream, optionalArgs);
        Object ret = jr.readObject();
        jr.close();

        return adjustOutputMap(ret);
    }
Map args = ["USE_MAPS": true]
Use JsonReader.jsonToJava(inputStream, args)
Note that the return type will match the JSON type (array, object, string, long, boolean, or null).
No longer recommended: Use jsonToJava with USE_MAPS:true
@param inputStream containing JSON content
@param optionalArgs Map of optional arguments to control customization.  See readme file for
details on these options.
@return Map containing the content from the JSON input.  Each Map represents an object from the input.