-2
"id"と "name"の値をそれぞれHashMap<Integer, String>
として保存するにはどうすればよいですか?Gson - プロパティと値を保存する方法
現在、ダンプアウトpseudoStations
は私に[{"id":0,"name":"London"}, {"id":1,"name":"Nottingham"}]
を与えます。反復すると、各リスト要素に対して私にJsonObject
が与えられます。
メインクラス
public static void main(String[] args) {
Gson gson = new Gson();
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("stations.json"));
StationManager sm = gson.fromJson(br, StationManager.class);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if (br != null) {
closeBufferedReader(br);
}
}
}
駅マネージャークラス
public class StationManager {
@SerializedName("pseudoStations")
@Expose
private List<JsonObject> pseudoStations = null;
public void setPseudoStations(List<JsonObject> pseudoStations) {
this.pseudoStations = pseudoStations;
}
}
stations.json
{
"pseudoStations":[
{
"id": 0,
"name": "London"
},
{
"id": 1,
"name": "Nottingham"
}
]
}
「HashMap」または「id」と「name」のキーと値のペアをどのように保存する必要があると思いますか分かりません。これらの名前に対応する2つのフィールドを持つPOJOを作成します。 'pseudoStations'をそのPOJOの' List'に変更してください。 –
プロパティの名前とIDを持つクラスステーションを作成し、そのクラスにJsonをマップします。Jsonの各ステーションのクラスの新しいインスタンスを作成します – Mero