Class JSONCompareUtil
java.lang.Object
org.skyscreamer.jsonassert.comparator.JSONCompareUtil
Utility class that contains Json manipulation methods.
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanallJSONArrays(org.json.JSONArray array) Returns whether all elements inarrayareJSONArrayinstances.static booleanallJSONObjects(org.json.JSONArray array) Returns whether all elements inarrayareJSONObjectinstances.static booleanallSimpleValues(org.json.JSONArray array) Returns whether all of the elements in the given array are simple values.arrayOfJsonObjectToMap(org.json.JSONArray array, String uniqueKey) Converts the providedJSONArrayto a Map ofJSONObjects where the key of each object is the value atuniqueKeyin each object.static StringfindUniqueKey(org.json.JSONArray expected) Searches for the unique key of theexpectedJSON array.static StringformatUniqueKey(String key, String uniqueKey, Object value) getCardinalityMap(Collection<T> coll) Creates a cardinality map fromcoll.getKeys(org.json.JSONObject jsonObject) Collects all keys injsonObject.static ObjectgetObjectOrNull(org.json.JSONArray jsonArray, int index) Returns the value present in the given index position.static booleanReturns whether the given object is a simple value: notJSONObjectand notJSONArray.static booleanisUsableAsUniqueKey(String candidate, org.json.JSONArray array) Looks to see if candidate field is a possible unique key across a array of objects.jsonArrayToList(org.json.JSONArray expected) Converts the givenJSONArrayto a list ofObjects.static String
-
Method Details
-
arrayOfJsonObjectToMap
public static Map<Object,org.json.JSONObject> arrayOfJsonObjectToMap(org.json.JSONArray array, String uniqueKey) throws org.json.JSONException Converts the providedJSONArrayto a Map ofJSONObjects where the key of each object is the value atuniqueKeyin each object.- Parameters:
array- the JSON array to convertuniqueKey- the key to map the JSON objects to- Returns:
- the map of
JSONObjects fromarray - Throws:
org.json.JSONException- JSON parsing error
-
findUniqueKey
Searches for the unique key of theexpectedJSON array.- Parameters:
expected- the array to find the unique key of- Returns:
- the unique key if there's any, otherwise null
- Throws:
org.json.JSONException- JSON parsing error
-
isUsableAsUniqueKey
public static boolean isUsableAsUniqueKey(String candidate, org.json.JSONArray array) throws org.json.JSONException Looks to see if candidate field is a possible unique key across a array of objects. Returns true IFF:
- array is an array of JSONObject
- candidate is a top-level field in each of of the objects in the array
- candidate is a simple value (not JSONObject or JSONArray)
- candidate is unique across all elements in the array
- Parameters:
candidate- is usable as a unique key if every element in thearray- is a JSONObject having that key, and no two values are the same.- Returns:
- true if the candidate can work as a unique id across array
- Throws:
org.json.JSONException- JSON parsing error
-
jsonArrayToList
public static List<Object> jsonArrayToList(org.json.JSONArray expected) throws org.json.JSONException Converts the givenJSONArrayto a list ofObjects.- Parameters:
expected- the JSON array to convert- Returns:
- the list of objects from the
expectedarray - Throws:
org.json.JSONException- JSON parsing error
-
getObjectOrNull
public static Object getObjectOrNull(org.json.JSONArray jsonArray, int index) throws org.json.JSONException Returns the value present in the given index position. If null value is present, it will return null- Parameters:
jsonArray- the JSON array to get value fromindex- index of object to retrieve- Returns:
- value at the given index position
- Throws:
org.json.JSONException- JSON parsing error
-
allSimpleValues
public static boolean allSimpleValues(org.json.JSONArray array) throws org.json.JSONException Returns whether all of the elements in the given array are simple values.- Parameters:
array- the JSON array to iterate through on- Returns:
- true if all the elements in
arrayare simple values - Throws:
org.json.JSONException- JSON parsing error- See Also:
-
isSimpleValue
Returns whether the given object is a simple value: notJSONObjectand notJSONArray.- Parameters:
o- the object to inspect- Returns:
- true if
ois a simple value
-
allJSONObjects
public static boolean allJSONObjects(org.json.JSONArray array) throws org.json.JSONException Returns whether all elements inarrayareJSONObjectinstances.- Parameters:
array- the array to inspect- Returns:
- true if all the elements in the given array are JSONObjects
- Throws:
org.json.JSONException- JSON parsing error
-
allJSONArrays
public static boolean allJSONArrays(org.json.JSONArray array) throws org.json.JSONException Returns whether all elements inarrayareJSONArrayinstances.- Parameters:
array- the array to inspect- Returns:
- true if all the elements in the given array are JSONArrays
- Throws:
org.json.JSONException- JSON parsing error
-
getKeys
Collects all keys injsonObject.- Parameters:
jsonObject- theJSONObjectto get the keys of- Returns:
- the set of keys
-
qualify
-
formatUniqueKey
-
getCardinalityMap
Creates a cardinality map fromcoll.- Type Parameters:
T- the type of elements in the input collection- Parameters:
coll- the collection of items to convert- Returns:
- the cardinality map
-