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

Android 如何在没有成员标记的情况下将JsonElement转换为Json?,android,json,parsing,gson,jsonobject,Android,Json,Parsing,Gson,Jsonobject,我有一个方法,它解析两个JsonElements之间的差异,然后返回一个JsonElement,它表示一个只包含两个元素之间差异的对象 然后,我试图通过API PUT请求发送返回的jsonement,并将响应一般解析为对象类型。问题是JsonElements解析为Json,其所有内容前面都有members标记 例如: {"members":{"id":1172327,"assets":[{"id":436379,"licenseState":"MI","odometer":"12345"}]}}

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

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

例如:

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

如何从
jsonement
中删除members标记。我宁愿不要手动操作。我尝试了
JsonElement.getAsJsonObject()
,但失败了。我还尝试将
JsonElement
作为
JsonArray
JsonElement.getAsJsonArray().get(0)
)获取,但这失败了,因为
JsonElement
不是
JsonArray

如果您只做
JsonElement.getJSONObject(“成员”)
?这将获取具有键“members”的元素

注意:确保用try/catch括起来,以防它不是有效的json


希望这就是您要寻找的。

JsonElements没有方法。仅getAsJsonObject(字符串)。getAsJsonObject()我正在尝试将其转换为JsonObject,然后立即获取“members”元素。我将编辑结果。编辑:JsonObject test=JsonElement.getAsJsonObject();getAsJsonObject(“成员”)返回null.JsonObject test=newjsonobject(jsonString);构造函数JsonObject(字符串)是undefined@user2962960您需要正确的导入。我已经更新了代码。如果您使用的是eclipse,您可以将鼠标悬停在带红色下划线的文本上,然后单击弹出窗口中的“导入”,它将添加所需的导入。我使用的是JsonElements(gson),而不是JsonElements EDIT:我可以使用JsonObject test=JsonELement.getAsJsonObject();为了获得类似的结果,但在检查test.getAsJsonObject(“成员”)后返回null@user2962960那很好。这不应该有什么区别。Gson只是一个将对象转换为JSON的库。只需获取(Gson)库吐出的JSON,将其转换为字符串,并将其放入新的“JSONObject”中
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));