26

私のAndroidプロジェクトのgsonライブラリを使用して、JSONObjectをLocationオブジェクトに変換する必要があります。これを行う方法がわかりません。誰かがこれで私を助けることができますか?前もって感謝します。

私は次のようなコードを持っています

JSONArray input = new JSONArray(extras.getString("loc_json"));

JSONArrayから取得したJSONObjectをLocationクラスオブジェクトに変換したかったのです。それを直接行う機能があるかどうか知りたかっただけです。

質問を間違った方法で組み立てた場合はご容赦ください。直接機能がないので、こうしました。

 loc_temp = (Location) gson.fromJson(input.getJSONObject(i).toString(), Location.class);;

愚かな質問でごめんなさい。

4

5 に答える 5

49

これは GSONのチュートリアルです。理解を深めるのに役立つと思います。基本的に、解析は次のように行われます。

String mJsonString = "...";
JsonParser parser = new JsonParser(); 
JsonElement mJson =  parser.parse(mJsonString);
Gson gson = new Gson();
MyDataObject object = gson.fromJson(mJson, MyDataObject.class);
于 2013-03-07T21:40:45.820 に答える
3

org.json の代わりにcom.google.gson.JsonObject & JsonArrayを使用します 。*

このような :

Gson gson = new Gson();
Type typeOfT = new TypeToken<List<Location.class>>(){}.getType();
JsonParser parser = new JsonParser();
JsonObject jo = (JsonObject) parser.parse(jsonStr);
JsonArray ja = jo.getAsJsonArray("memberName");
list = gson.fromJson(ja, typeOfT);
于 2013-05-20T05:43:11.513 に答える