Я получил этот JsonArray:
"jokes": [
{
"description": "Knock Knock joke of the day!",
"language": "en",
"background": "",
"category": "knock-knock",
"date": "2019-12-02",
"joke": {
"title": "Knock Knock - Raoul who?",
"lang": "en",
"length": "64",
"clean": "1",
"racial": "0",
"id": "GcLEyRMil3Od8VaaNtGo5QeF",
"text": "Knock Knock\r\nWho's there?\r\nRaoul!\r\nRaoul who?\r\nRaoul of law!\r\n\r\n"
}
}
],
"copyright": "2019-20 https://jokes.one"
}
}
Я хочу иметь возможность извлекать любой элемент из массива json без значения для типа данных, например, если я хочу получить JsonObject joke
Я реализовал эту функцию:
public static JsonObject getJsonObjectFromJsonArray(int index, String fieldName, JsonArray jsonArray) {
return jsonArray.get(index).getAsJsonObject().get(fieldName).getAsJsonObject();
}
и, если я хочу получить json элемент, который является строкой, я внедрил эту функцию:
public static String getItemStringFromJsonArray(int index, String fieldName, JsonArray jsonArray){
return jsonArray.get(index).getAsJsonObject().get(fieldName).getAsString();
}
эти два последних метода выглядят одинаково, но вернуть разные типы данных, как я могу сделать это generi c?