Я пытаюсь проанализировать остаток ответа от моего веб-сервера Python.Я успешно получил строку содержимого JSON.Чтобы упростить проблему, я сейчас просто пытаюсь разобрать тестовую строку, показанную ниже.
Мои тестовые сценарии Python хорошо разбирают строку, но это для плагина Java, поэтому я пытаюсь перевести его в Java.
Я выполнил несколько копий того же примера.
String inputJSONs = "{\"connections\":[{\"num\":\"1\"},{\"num\":\"2\"}]}";
System.out.println("testing");
JSONObject jsono = new JSONObject(inputJSONs);
System.out.println("parsed json");
JSONArray arr = jsono.getJSONArray("connections");
System.out.println("have arr");
System.out.println(arr);
ОШИБКА oagrest.RESTExceptionMapper - непредвиденная внутренняя ошибка: org / json / JSONObject
Я думаю, что структура плагина (apache guacamole) может скрывать более подробную ошибку, но я не могу быть уверен.
Добавление полного примера (удаление всего, что я мог воспроизвести)
package org.apache.guacamole.auth;
import java.util.HashMap;
import java.util.Map;
import java.lang.StringBuilder;
import org.json.JSONObject;
import org.json.JSONArray;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.guacamole.GuacamoleException;
import org.apache.guacamole.GuacamoleServerException;
import org.apache.guacamole.environment.Environment;
import org.apache.guacamole.environment.LocalEnvironment;
import org.apache.guacamole.net.auth.simple.SimpleAuthenticationProvider;
import org.apache.guacamole.net.auth.Credentials;
import org.apache.guacamole.protocol.GuacamoleConfiguration;
public class RestAuthenticationProvider extends SimpleAuthenticationProvider {
private final Environment environment;
private Logger logger = LoggerFactory.getLogger(RestAuthenticationProvider.class.getClass());
public RestAuthenticationProvider() throws GuacamoleException{
environment = new LocalEnvironment();
}
@Override
public String getIdentifier() {
logger.info("====Get Identifier====");
return "Rest API";
}
@Override
public Map<String, GuacamoleConfiguration>
getAuthorizedConfigurations(Credentials credentials)
throws GuacamoleException {
if (credentials.getUsername() == null ){
return null;
}
String inputJSONs = "{\"connections\":[{\"num\":\"1\"},{\"num\":\"2\"}]}";
System.out.println("testing 2");
System.out.println(inputJSONs);
JSONObject jsono = new JSONObject(inputJSONs);
System.out.println("parsed json");
JSONArray arr = jsono.getJSONArray("connections");
System.out.println("have arr");
System.out.println(arr);
return null;
}
}
Сразу после входа в систему сервер выводит следующее
testing 2
{"connections":[{"num":"1"},{"num":"2"}]}
12:00:00.129 [http-nio-8080-exec-8] ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error: org/json/JSONObject