如何将JSONObject转换为类对象?

我需要使用我的Android项目的gson库将JSONObject转换为Location对象。 我不知道如何做到这一点。 谁能帮我这个。 提前致谢。

我有一个类似的代码

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

我想将从JSONArray获取的JSONObject转换为Location类对象。 我只是想知道是否有一个函数直接执行。

如果我以错误的方式来构思问题,请原谅我。 既然我没有直接的function,就这样做了。

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

对不起,这个愚蠢的问题。

Solutions Collecting From Web of "如何将JSONObject转换为类对象?"

这是一个 GSON 教程 – 我认为这应该有助于加强你的理解。 基本上parsing是这样完成的:

 String mJsonString = "..."; JsonParser parser = new JsonParser(); JsonElement mJson = parser.parse(mJsonString); Gson gson = new Gson(); MyDataObject object = gson.fromJson(mJson, MyDataObject.class); 

使用com.google.gson.JsonObject&JsonArray而不是org.json。*

喜欢这个 :

 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); 

如果你仍然想使用org.json.JSONObject

 org.json.JSONObject o; ObjectMapper m = new ObjectMapper(); MyClass myClass = m.readValue(o.toString(), MyClass.class);