1*2de1965aSWill Schurman // Copyright 2015-present 650 Industries. All rights reserved. 2*2de1965aSWill Schurman package host.exp.exponent.utils 3*2de1965aSWill Schurman 4*2de1965aSWill Schurman import org.json.JSONArray 5*2de1965aSWill Schurman import org.json.JSONException 6*2de1965aSWill Schurman import org.json.JSONObject 7*2de1965aSWill Schurman import java.util.ArrayList 8*2de1965aSWill Schurman import java.util.HashMap 9*2de1965aSWill Schurman 10*2de1965aSWill Schurman object JSONUtils { 11*2de1965aSWill Schurman @Throws(JSONException::class) getJSONStringnull12*2de1965aSWill Schurman @JvmStatic fun getJSONString(item: Any): String { 13*2de1965aSWill Schurman if (item is HashMap<*, *>) { 14*2de1965aSWill Schurman return getJSONFromHashMap(item).toString() 15*2de1965aSWill Schurman } else if (item is ArrayList<*>) { 16*2de1965aSWill Schurman return getJSONFromArrayList(item).toString() 17*2de1965aSWill Schurman } 18*2de1965aSWill Schurman return item.toString() 19*2de1965aSWill Schurman } 20*2de1965aSWill Schurman 21*2de1965aSWill Schurman @Throws(JSONException::class) getJSONFromArrayListnull22*2de1965aSWill Schurman private fun getJSONFromArrayList(array: ArrayList<*>): JSONArray { 23*2de1965aSWill Schurman val json = JSONArray() 24*2de1965aSWill Schurman for (value in array) { 25*2de1965aSWill Schurman var newValue = value 26*2de1965aSWill Schurman if (value is HashMap<*, *>) { 27*2de1965aSWill Schurman newValue = getJSONFromHashMap(value) 28*2de1965aSWill Schurman } else if (value is ArrayList<*>) { 29*2de1965aSWill Schurman newValue = getJSONFromArrayList(value) 30*2de1965aSWill Schurman } 31*2de1965aSWill Schurman json.put(newValue) 32*2de1965aSWill Schurman } 33*2de1965aSWill Schurman return json 34*2de1965aSWill Schurman } 35*2de1965aSWill Schurman 36*2de1965aSWill Schurman @Throws(JSONException::class) getJSONFromHashMapnull37*2de1965aSWill Schurman private fun getJSONFromHashMap(map: HashMap<*, *>): JSONObject { 38*2de1965aSWill Schurman val json = JSONObject() 39*2de1965aSWill Schurman for (key in map.keys) { 40*2de1965aSWill Schurman var value = map[key] 41*2de1965aSWill Schurman if (value is HashMap<*, *>) { 42*2de1965aSWill Schurman value = getJSONFromHashMap(value) 43*2de1965aSWill Schurman } else if (value is ArrayList<*>) { 44*2de1965aSWill Schurman value = getJSONFromArrayList(value) 45*2de1965aSWill Schurman } 46*2de1965aSWill Schurman json.put(key.toString(), value) 47*2de1965aSWill Schurman } 48*2de1965aSWill Schurman return json 49*2de1965aSWill Schurman } 50*2de1965aSWill Schurman } 51