我有一个方法可以解析两个 JsonElement
之间的差异,然后返回一个 JsonElement
,它代表一个只包含两个元素之间差异的对象。
然后我尝试通过 API PUT 请求发送返回的 JsonElement
并将响应一般地解析为对象类型。问题是 JsonElement
解析为 Json
,其所有内容前面都有 members 标记。
例如:
{"members":{"id":1172327,"assets":[{"id":436379,"licenseState":"MI","odometer":"12345"}]}}
如何从 JsonElement
中删除成员标签。我宁愿不要手动进行。我尝试了 JsonElement.getAsJsonObject()
但失败了。我还尝试将 JsonElement
作为 JsonArray
(JsonElement.getAsJsonArray().get(0)
) 获取,但这失败了,因为 JsonElement
不是 JsonArray
。
最佳答案
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!
希望这就是您要找的。p>
关于android - 如何在没有成员标签的情况下将 JsonElement 转换为 Json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540153/