Ich verwende folgenden Code, um eine Antwort von der API zu erhalten.Java BufferedReader Wert wird Null
BufferedReader bf = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
System.out.println("bf.readLine() - " + bf.readLine());
output = bf.readLine();
while (output != null) {
JSONObject obj = new JSONObject(output);
System.out.println("output is " + output);
resCode = obj.getString("resCode");
resDesc = obj.getString("COUNT");
}
Ich kann bf.readLine() Antwort wie folgt zurückgeben.
{"status":true,"data":[{"COUNT":"0"}]}
Problem ist, wenn ich die bf.readLine()
zu String und prüfen Sie den Wert zuweisen, es null wird. Warum bf.readLine() als Null anzeigt (gibt Nullpunkt-Ausnahme), auch wenn es den Wert von API zurückgibt.
, warum 'bf.readLine Aufruf()' zweimal? – piyushj
Was sagt die API, dass ein Rückgabewert "null" bedeutet? Was bedeutet das im Zusammenhang mit dem Code? – user2864740
Jedes Mal, wenn Sie 'readLine()' aufrufen, geht es weiter. Sobald Sie keine zu lesenden Zeilen mehr haben, gibt 'readLine() '' null zurück, was die _NullPointerException_ verursacht. – Mihir