JsonNull в Gson Java

Пишу бота, нужен парсер Json файлов, стал использовать Gson и все нравилось, до момента тестов :(

Логика такова:

  • Присылаю боту сообщение с символом токена
  • Идет запрос в БД за поиском id этого символа
  • Затем вставляю id в API запрос
  • Получаю Json

Код

package config;

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.stream.JsonReader;

public class API_CoinGeko {
public String API_CoinGeko_coin(String coin) throws IOException{
    String textFromApi = null;
    URL url = new URL("https://api.coingecko.com/api/v3/coins/"+coin+"");
    
    // Вывод в консоль -> https://api.coingecko.com/api/v3/coins/bitcoin
    System.out.println(url.toString());
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("GET");
            
    JsonReader json = new JsonReader(new InputStreamReader(connection.getInputStream()));
    JsonElement jsonElement = JsonParser.parseReader(json);
    // Создание главного объекта
    JsonObject rootObject = jsonElement.getAsJsonObject(); 
    ... 
return textFromApi;

Вывод из консоли :

2022-08-15 20:26:12.615 ERROR 12588 --- [legram Executor] o.t.t.u.DefaultBotSession                : JsonNull

java.lang.UnsupportedOperationException: JsonNull
    at com.google.gson.JsonElement.getAsString(JsonElement.java:179) ~[gson-2.9.1.jar:na]
    at config.API_CoinGeko.API_CoinGeko_coin(API_CoinGeko.java:52) ~[classes/:na]
    at service.u_bablo_botCommands.coinAnswer(u_bablo_botCommands.java:180) ~[classes/:na]
    at service.u_bablo_botCommands.onUpdateReceived(u_bablo_botCommands.java:99) ~[classes/:na]
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[na:na]
    at org.telegram.telegrambots.meta.generics.LongPollingBot.onUpdatesReceived(LongPollingBot.java:27) ~[telegrambots-meta-6.1.0.jar:na]
    at org.telegram.telegrambots.updatesreceivers.DefaultBotSession$HandlerThread.run(DefaultBotSession.java:317) ~[telegrambots-6.1.0.jar:na]

Ну как null, если json точно есть, если перейти по ссылке API?

До этого я не брал данные из БД, а просто вводил id монеты в бота и не меняя код получал правильный ответ, может глаз замылился или еще чего, но я не понимаю куда смотреть(


Ответы (0 шт):