это мой первый вопрос здесь, я стараюсь быть более явным :)Получить значение из JSON и поместить его в строки
Я хочу, чтобы получить значение из JSON
страницы: https://api.dailymotion.com/video/x3p6d9r?fields=onair.
Я следую учебному пособию о json object
.
Но я хочу получить значение "onair"
и поместить его в String
для использования IF STRING == "XX"
.
Это мой код:
public class notification extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notification);
detectonline();
}
public void detectonline(){
/*
if (xx == "false") {
Do something is live is off
}
else{
Do something is live is on
}
*/
}
public static boolean checkIfOnline(String channel) throws IOException {
String channerUrl = "https://api.dailymotion.com/video/x3p6d9r?fields=onair";
String jsonText = readFromUrl(channerUrl);// reads text from URL
JsonParser parser = new JsonParser();
JsonObject json = parser.parse(jsonText).getAsJsonObject();
return !json.get("onair").isJsonNull();
}
private static String readFromUrl(String url) throws IOException {
URL page = new URL(url);
StringBuilder sb = new StringBuilder();
Scanner scanner = null;
try{
//scanner = new Scanner(page.openStream(), StandardCharsets.UTF_8.name());
scanner = new Scanner(page.openStream());
while (scanner.hasNextLine()){
sb.append(scanner.nextLine());
}
}finally{
if (scanner!=null)
scanner.close();
}
return sb.toString();
}
}
Спасибо вам помочь, но у меня есть ошибки на 'Строка jsonText = readFromUrl (channelerUrl); // читает текст из URL'. У меня есть ошибка: 'Unhandled exception: java.io.IOexception' – PotatoesPower
, а затем просто оберните оператор блоком catch catch – Manny265
Измените метод следующим образом: public static boolean checkIfOnline (String channel) бросает JSONException, IOException – Seelass