Hallo zusammen,
ich habe ein kleines Problem mit meinen Programm. Und zwar geht es um folgendes Problem. Ich möchte aus einer Textdatei jede Zeile in ein JSONObject parsen. Anschließend überprüfe ich, ob dieses JSONObject einen key mit einem bestimmten String beinhaltet. Ist der String identisch wird die die Zeile aus der Textdatei in eine ArrayList hinzugefügt. Für die ersten beiden Zeilen funktioniert das auch, danach liefert Eclipse mit aber eine NullPointerException und ich weiss leider nicht was ich falsch gemacht habe. Vielleicht kann der ein oder andere mir helfen. Hier mein Code.
Quellcode:
Output:
----------------------------------------
Inhalt der aktuellen Zeile: {"id":"1","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
ID: 1
CMD: WriteStdOut
Zeile nicht hinzugefügt!
----------------------------------------
Inhalt der aktuellen Zeile: {"id":"2","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
ID: 2
CMD: WriteStdOut
ArrayList: 1
Gelesene Zeile: {"id":"2","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"} hinzugefügt.
----------------------------------------
Inhalt der aktuellen Zeile:
Exception in thread "main" java.lang.NullPointerException
at TestArrayList.main(TestArrayList.java:29)
Inhalt meiner Textdatei:
{"id":"1","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
{"id":"2","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
{"id":"1","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
{"id":"1","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Test 123456789"}
{"id":"2","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Server sagt Hallo"}
ich habe ein kleines Problem mit meinen Programm. Und zwar geht es um folgendes Problem. Ich möchte aus einer Textdatei jede Zeile in ein JSONObject parsen. Anschließend überprüfe ich, ob dieses JSONObject einen key mit einem bestimmten String beinhaltet. Ist der String identisch wird die die Zeile aus der Textdatei in eine ArrayList hinzugefügt. Für die ersten beiden Zeilen funktioniert das auch, danach liefert Eclipse mit aber eine NullPointerException und ich weiss leider nicht was ich falsch gemacht habe. Vielleicht kann der ein oder andere mir helfen. Hier mein Code.
Quellcode:
Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
public class TestArrayList {
public static void main (String[] args) throws IOException {
try {
FileReader fr = new FileReader("C:/xampp/htdocs/9999-bonanza-10.01.2013.txt");
BufferedReader br = new BufferedReader(fr);
List<String> list = new ArrayList<String>();
String zeile = null;
while ((zeile = br.readLine()) != null) {
System.out.println("----------------------------------------");
System.out.println("Inhalt der aktuellen Zeile: " + zeile);
JSONObject data = (JSONObject) JSONValue.parse(zeile);
System.out.println("ID: " + data.get("id"));
System.out.println("CMD: " + data.get("cmd").toString());
if(data.get("id").equals("2")) {
list.add(zeile);
System.out.println("ArrayList: " + list.size());
System.out.println("Gelesene Zeile: " + zeile + " hinzugefügt.");
}
else
System.out.println("Zeile nicht hinzugefügt!");
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
// for(int i = 0; i < list.size(); i++) {
// System.out.println(list.get(i));
// }
}
}
Output:
----------------------------------------
Inhalt der aktuellen Zeile: {"id":"1","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
ID: 1
CMD: WriteStdOut
Zeile nicht hinzugefügt!
----------------------------------------
Inhalt der aktuellen Zeile: {"id":"2","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
ID: 2
CMD: WriteStdOut
ArrayList: 1
Gelesene Zeile: {"id":"2","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"} hinzugefügt.
----------------------------------------
Inhalt der aktuellen Zeile:
Exception in thread "main" java.lang.NullPointerException
at TestArrayList.main(TestArrayList.java:29)
Inhalt meiner Textdatei:
{"id":"1","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
{"id":"2","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
{"id":"1","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Hello World"}
{"id":"1","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Test 123456789"}
{"id":"2","confirmation":"NOTREQUIRED","timeouthint":"0","cmd":"WriteStdOut","message":"Server sagt Hallo"}
Zuletzt bearbeitet: