我有一个方法可以解析两个JsonElement
之间的差异,然后返回一个JsonElement
,它表示一个只包含两个元素之间差异的对象。
然后,我尝试通过API PUT请求发送返回的JsonElement
,并通常将响应解析为对象类型。问题是JsonElement
解析Json
,其所有内容前面都有成员标记。
例如:
{"members":{"id":1172327,"assets":[{"id":436379,"licenseState":"MI","odometer":"12345"}]}}
如何从JsonElement
中删除成员代码。我不想手动做。我尝试了JsonElement.getAsJsonObject()
但失败了。我还尝试将JsonElement
作为JsonArray
(JsonElement.getAsJsonArray().get(0)
),但由于JsonElement
不是JsonArray
而失败了。
答案 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")
怎么办?这将使用键"成员"