如何在没有成员标记的情况下将JsonElement转换为Json?

时间:2014-07-02 20:08:56

标签: android json parsing gson jsonobject

我有一个方法可以解析两个JsonElement之间的差异,然后返回一个JsonElement,它表示一个只包含两个元素之间差异的对象。

然后,我尝试通过API PUT请求发送返回的JsonElement,并通常将响应解析为对象类型。问题是JsonElement解析Json,其所有内容前面都有成员标记。

例如:

{"members":{"id":1172327,"assets":[{"id":436379,"licenseState":"MI","odometer":"12345"}]}}

如何从JsonElement中删除成员代码。我不想手动做。我尝试了JsonElement.getAsJsonObject()但失败了。我还尝试将JsonElement作为JsonArrayJsonElement.getAsJsonArray().get(0)),但由于JsonElement不是JsonArray而失败了。

2 个答案:

答案 0 :(得分:2)

import org.json.JSONObject;

/** Assuming json_string is your json string **/

JSONObject jsonObj = new JSONObject(json_string);

JSONObject jsonMembers = jsonObj.getJSONObject("members");

//will return "{"id":1172327,"assets":[{"id":436379,"licenseState":"MI","odometer":"12345"}]}"
Log.d("Members only:",String.valueOf(jsonMembers));

注意:确保用try / catch包围,以防json无效!

希望这就是你要找的东西。

答案 1 :(得分:1)

如果你只做JsonElement.getJSONObject("members")怎么办?这将使用键"成员"

来获取元素