diff options
Diffstat (limited to 'src/main/java/com/mavlushechka/a1qa/framework/utils/JsonParser.java')
-rw-r--r-- | src/main/java/com/mavlushechka/a1qa/framework/utils/JsonParser.java | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/src/main/java/com/mavlushechka/a1qa/framework/utils/JsonParser.java b/src/main/java/com/mavlushechka/a1qa/framework/utils/JsonParser.java deleted file mode 100644 index 4f89e12..0000000 --- a/src/main/java/com/mavlushechka/a1qa/framework/utils/JsonParser.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.mavlushechka.a1qa.framework.utils; - -import com.google.gson.Gson; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.ArrayList; -import java.util.Map; -import java.util.TreeMap; - -public class JsonParser { - - private final static TreeMap<String, JSONObject> parsedJSON = new TreeMap<>(); - - - public static String parseData(String filename, String key) { - return parse(filename, key, false); - } - - public static String parseObject(String filename, String key) { - return parse(filename, key, true); - } - - public static boolean isJson(String json) { - try { - new JSONObject(json); - } catch (JSONException jsonObjectException) { - try { - new JSONArray(json); - } catch (JSONException jsonArrayException) { - return false; - } - } - return true; - } - - public static boolean isBodyEmpty(String json) { - return json.equals("{}"); - } - - public static <T> T convertToObject(String json, Class<T> classToConvert) { - return new Gson().fromJson(json, classToConvert); - } - - public static <T> String convertToJson(T object) { - return new Gson().toJson(object); - } - - public static <T> T[] convertArray(String json, Class<T> classToConvert) { - Gson gson = new Gson(); - JSONArray jsonArray = new JSONArray(json); - ArrayList<T> objects = new ArrayList<>(); - - for (int i = 0; i < jsonArray.length(); i++) { - objects.add(gson.fromJson(jsonArray.getJSONObject(i).toString(), classToConvert)); - } - return (T[]) objects.toArray(); - } - - private static String parse(String filename, String key, boolean isObject) { - Map.Entry<String, JSONObject> ceilingEntry = parsedJSON.ceilingEntry(filename); - - if (ceilingEntry == null || !ceilingEntry.getKey().startsWith(filename)) { - parseFile(filename); - } - return parseData(filename, key, isObject); - } - - private static void parseFile(String filename) { - parsedJSON.put(filename, new JSONObject(FileParser.parse("src/main/resources/" + filename + ".json"))); - } - - private static String parseData(String jsonName, String key, boolean isObject) { - JSONObject jsonObject = new JSONObject(parsedJSON.get(jsonName).toString()); - String[] keys = key.split("\\."); - - for (int i = 0; i < keys.length - 1; i++) { - if (keys[i].contains("[") && keys[i].contains("]")) { - String splitKey = keys[i].split("\\[")[0]; - int index = Integer.parseInt(keys[i].split("\\[")[1].replaceAll("[\\[\\]]", "")); - - jsonObject = jsonObject.getJSONArray(splitKey).getJSONObject(index); - } else { - jsonObject = jsonObject.getJSONObject(keys[i]); - } - } - if (isObject) { - return jsonObject.getJSONObject(keys[keys.length - 1]).toString(); - } - return jsonObject.getString(keys[keys.length - 1]); - } - -} |