Tuesday, May 29, 2018

BugUtil Post For Myself

package com.smartstream.model; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class BugUtil { public static Map findKeysOfJsonArray(JSONArray jsonIn, Map keys,String key,String value,boolean status) throws JSONException { Map keysFromArr = new HashMap(); if (jsonIn != null && jsonIn.length() != 0) { for (int i = 0; i < jsonIn.length(); i++) { JSONObject jsonObjIn = jsonIn.getJSONObject(i); keysFromArr.putAll(findKeysOfJsonObject(jsonObjIn, keys,key,value,status)); } } return keysFromArr; } public static Map findKeysOfJsonObject(JSONObject jsonIn, Map keys,String key,String value,boolean status) throws JSONException { Iterator itr = jsonIn.keys(); Map keysFromObj = makeList(itr,jsonIn); keys.putAll(keysFromObj); itr = jsonIn.keys(); while (itr.hasNext()) { String itrStr = itr.next(); // System.out.println("out " + itrStr); JSONObject jsout = null; JSONArray jsArr = null; if (jsonIn.get(itrStr).getClass() == JSONObject.class) { jsout = jsonIn.getJSONObject(itrStr); findKeysOfJsonObject(jsout, keys,key,value,status); } else if (jsonIn.get(itrStr).getClass() == JSONArray.class) { jsArr = jsonIn.getJSONArray(itrStr); keys.putAll(findKeysOfJsonArray(jsArr, keys,key,value,status)); } else if (jsonIn.get(itrStr).getClass() == String.class) { if(key.equalsIgnoreCase(itrStr)&& value.equalsIgnoreCase((String)jsonIn.get(itrStr))){ System.out.println(itrStr + "-" + jsonIn.get(itrStr)); status=true; } } } return keys; } public static void printAllKeys(JSONObject json) throws JSONException{ Iterator ir=json.keys(); while( ir.hasNext() ) { String key = (String)ir.next(); if ( json.get(key) instanceof JSONObject ) { // printAllKeys(json); } else{ System.out.println(key+" "+json.get(key)); } } } public static Map makeList(Iterator iter,JSONObject json) throws JSONException { Map list = new HashMap(); while (iter.hasNext()) { String key=iter.next(); if(!(json.get(key) instanceof JSONObject)) list.put(key,json.get(key).toString()); } return list; } }