ファイルを/ srcフォルダに読み書きする必要があります(Eclipseを使用しているので、自動的にsrcフォルダが生成されます)。私は新しい人、新しいものがによって生成されるたびに追加する場所/ srcフォルダ内Gson:/ srcフォルダのjsonファイルを読み込んでオブジェクトを追加します
public class Person {
private String name;
private String surname;
... getters, setters and constructors here ...
}
、私は、「persons.json」ファイルが必要になります。
は、私はこのようなDOMオブジェクトを持っていますフォーム(スイングGUI)。私は、アプリケーションを開くと、私は、ファイル内のすべての人々をロードしたい
:
InputStream in = Person.class.getClassLoader().getResourceAsStream("scontrini_oggi.json");
String personString = IOUtils.toString(in, "UTF-8");
Person[] persons = gson.fromJson(personString, Person.class);
まず問題:
{
"name": "myname",
"surname": "my surname"
},
{
"name": "myname2",
"surname": "mysurname 2"
}
それは文字列を出力します。それは、このようなファイルでエラーが発生しますpersonString(実際にはファイルを読み込む)ですが、Personオブジェクトに変換しようとするとClassCastExceptionが発生します。
もう一つの問題は、私がPersonオブジェクトを持っていれば、それをファイルに追加したいのですが、これを達成する方法がわかりません。
ありがとうございます!
はありがとうございます。私はその方法を試しましたが、それは最初のものを取るだけです。理由はわかりません。 – luca89pe
jsonファイルを制御できるなら、 '['と ']'をラップして配列にすることができます。 ファイルの内容は次のようにする必要があります。 [ //古いファイルの内容 ] –