У меня есть этот код, который возвращает ответ поставщика API в формате JSON Object. Ниже приведен код:Значение извлечения объекта JSON
public class Authentication {
public static void main(String[] args) {
try {
URL url = new URL ("https://xxxxx.com");
String encoding = "xxxxxxxxx";
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty ("Authorization", "Basic " + encoding);
InputStream content = (InputStream)connection.getInputStream();
BufferedReader in =
new BufferedReader (new InputStreamReader (content));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch(Exception e) {
e.printStackTrace();
}
}
}
Приведенный выше код будет возвращать ответ, как это:
{
"accessToken": "0.AQAAAUmdztB3AAAAAAAEkvg",
"tokenType": "Bearer",
"expiresIn": 300
}
Так вот проблема, я пытаюсь получить значение только маркер доступа, так что я могу используйте его, чтобы сделать api-вызов. Я пробовал:
String loudScreaming = JSONML.toJSONObject("accessToken").getString("accessToken");
Но оно вернет null. Я читал о Джексоне, но не знаю, как это сделать. Пожалуйста, направляйте меня. Заранее спасибо.
Я думаю, вы используете что-то другое, чем Джексон. Он не содержит класс JSONML. В любом случае, вероятно, вы должны добавить 'line' вместо' 'accessToken'' в качестве параметра' toJSONObject (...) '. –