たとえば、現時点では、GoogleAPIからレストランのリストを取得しています。次に、ゲッターとセッターを使用してレストランクラスを作成する必要があります。次に、そのクラスのオブジェクトを作成し、返されたjsonからの各フィールドを手動で入力する必要があります。
すべての作業を手動で行うよりも速くこれを行う別の方法はありますか?
What I do is just create an object that matches the returned json string and place the values into the object using gson.fromjson()
Object.
public class Return {
private String Status;
private String[] Data;
public Return(String Status, String[] Data){
this.Status=Status;
this.Data=Data;
}
public String getStatus() { return Status; }
public String[] getData() { return Data; }
}
Code to populate Object.
java.lang.reflect.Type listType = new TypeToken<Return>(){}.getType();
Return return2= new Gson().fromJson(myresponse.toString(), listType);
最善の方法は、その特定の API のライブラリを見つけることです。そうしないと、JSON を Java Beans にマッピングせずに使用できます (つまり、JSON を解析し、解析された JSON を処理するparsed.getString("city_name")
などの操作を行うだけです)。Jacksonはそれを行うための優れたライブラリです。
また、返された JSON から JSON スキーマを生成し、それを使用してJava Beans コードを自動生成し、これをJacksonなどの JSON ライブラリで使用することもできます。私はこれを一度試しましたが、上記の自動スキーマ生成ツールは現時点ではあまり良くないため、生成された JSON スキーマをかなり修正する必要があるようです。