private static String stringArrayFromObjectArray(Object data[]) {
        StringBuilder arrayAsString = new StringBuilder();
        for (Object o : data) {
            if (arrayAsString.length() > 0) {
                arrayAsString.append(",");
            }
            if (o instanceof Map) {
                arrayAsString.append(jsonFromMap((Map<String, Object>) o));
            } else if (o instanceof JsonCapableObject) {
                arrayAsString.append(jsonFromMap(((JsonCapableObject) o).jsonMap()));
            } else {
                arrayAsString.append("\"").append(String.valueOf(o)).append("\"");
            }
        }
        return arrayAsString.toString();
    }
Pass in a Map and this method will return a JSON string.

<p>The map can contain Objects, int[], Object[] and Collections and they will be converted
into string representations.

<p>Nested maps can be included as values and the JSON will have nested object notation.

<p>Arrays/Collections can have Maps in them as well.

<p>See the unit tests for examples.

@param jsonData
zuul-core/src/main/java/com/netflix/zuul/util/JsonUtility.java