Я пытался превратить строку, которую я получаю в ответ на запрос GET с OkHttp. Проблема в том, что он выдает ошибку, и я не знаю, как ее исправить, хотя я понимаю, в чем проблема.
Я пытался заменить символ, хотя он не работал.
Код
private static void checkMails() throws IOException, NoSuchAlgorithmException {
// Set algorithm to MD5
MessageDigest md = MessageDigest.getInstance("MD5");
// Update the MessageDigest object with the bytes of our email.
md.update("mail@dump.com".getBytes(StandardCharsets.UTF_8));
// Digest the object which contains the bytes of our email String.
byte[] digest = md.digest();
// MD5 Hash of the email we generated using Details()
String emailHash = DatatypeConverter
.printHexBinary(digest).toLowerCase();
// Get request which returns the response.
String response = doGetRequest("https://privatix-temp-mail-v1.p.rapidapi.com/request/mail/id/" + emailHash + "/");
System.out.println(emailHash);
System.out.println(response);
// If the response does contain mails then use the verify function.
if (!response.contains("There are no emails yet")) {
JSONObject json = new JSONObject(response);
System.out.println(json.getString("mail_text"));
} else {
System.out.println("No mails yet.");
}
}
/* GET Request method */
private static String doGetRequest(String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.get()
.addHeader("x-rapidapi-host", "privatix-temp-mail-v1.p.rapidapi.com")
.addHeader("x-rapidapi-key", config.getTempMailApiKey())
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
Данные, полученные из ответа:
[{"_id":{"oid":"5daf18a2f4a4b314d399d510"},"createdAt":{"milliseconds":1571756194861},"mail_id":"970af329d17a93669653b26bd7d1c779"
Ошибка
Exception in thread "main" org.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1]
at org.json.JSONTokener.syntaxError(JSONTokener.java:507)
at org.json.JSONObject.<init>(JSONObject.java:222)
at org.json.JSONObject.<init>(JSONObject.java:406)
at creator.VerifyMail.checkMails(VerifyMail.java:51)
at creator.VerifyMail.main(VerifyMail.java:27)
Я ожидал, что смогу преобразовать его в объект json изатем сможете получить определенную часть объекта json.