に、ここに私のJSONが(サーバーから)であるは、私は情報を取得するためにこのコードを使用していたので、JSONからGSON/Androidの
{
"error": true,
"ResultCode": 1,
}
を変更しますGSON、しかし、私は "getboolean"や "getInt"のようなものはないことに気づいた。どのように私の値/データを取得できますか?
に、ここに私のJSONが(サーバーから)であるは、私は情報を取得するためにこのコードを使用していたので、JSONからGSON/Androidの
{
"error": true,
"ResultCode": 1,
}
を変更しますGSON、しかし、私は "getboolean"や "getInt"のようなものはないことに気づいた。どのように私の値/データを取得できますか?
GSONを使用してjsonレスポンスを解析する場合。 jsonレスポンスに対応するモデルまたはPOJOクラスを作成します。たとえば、あなたのJSONレスポンスと対応するPOJO
class Response {
@SerializedName("error")
boolean error;
@SerializedName("ResultCode")
int resultCode;
public boolean isError() {
return error;
}
public void setError(boolean error) {
this.error = error;
}
public int getResultCode() {
return resultCode;
}
public void setResultCode(int resultCode) {
this.resultCode = resultCode;
}
}
、次のようにJSONをパース:
Gson gson = new Gson();
Response response = gson.fromJson(response, Response.class);
は今、あなたはgetterメソッドから値を取得することができます。 POJO http://www.jsonschema2pojo.org/
ありがとう、それは動作します! – Jorge
org.jsonとはまったく異なります。JSONObject
など。本質的にJSONデータ構造のJava表現であるalクラスは、JSONをJavaオブジェクトにマッピングするためのフレームワークです。あなたは、このようにそれを使用したい
class Foo {
int i;
String s;
}
Gson gson = new GsonBuilder().create();
Foo f = gson.fromJson(reader, Foo.class);
はGSONはJSONデータstrcuturesを表現するための下位レベルのオブジェクトを持っていないが、あなたは非定型何かをやっていない限り、あなたは一般的に利用していません。
オプション1
あなたはPOJOクラスを定義します
String json = "{\"error\": true,\"ResultCode\": 1}";
Gson g=new Gson();
Pojo p = g.fromJson(json, Pojo.class);
p.getError();
オプション2:少しより危険:
JSONオブジェクトに解析および方法getAsBoolean(呼び出し)
String json = "{\"error\": true,\"ResultCode\": 1}";
Gson gson = new Gson();
JsonObject jsonObject = gson.fromJson(json, JsonObject.class);
jsonObject.get("error").getAsBoolean();
のための複雑なJSON、あなたの自動生成ツールの
あなたがGSONを使用してJSONを解析したいですか? – USKMobility
現在のコードで何が問題になっていますか? –
GsonはJSONからJavaクラスを生成できます。だから、あなたが新しいGson()をやるとき.Jsonから。 JSONレスポンスに相当するJavaクラスを取得します。 –