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

标签 android parsing gson json

我有一个方法可以解析两个 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!

希望这就是您要找的。

关于android - 如何在没有成员标签的情况下将 JsonElement 转换为 Json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540153/

相关文章:

java - 如何使用flexjson序列化和反序列化对象数组列表?

java.lang.runtimeException : unable to start activity componentinfo{}: java. lang.nullpointerException

java - 为什么 Terminals.tokenizer() 标记未注册的运算符/关键字?

java - 在 Gson 自定义序列化中为 Double 字段分配空值

android - 如何将 Android SnackBar 调整到屏幕上的特定位置

regex - 查找子程序的最后一个 "}"

python - 从字符串中剥离注释行

json - 检查 Gson JsonArray 是否为空

Java Gson http响应解析困难

java - 在迭代时从列表中删除对象不起作用(使用迭代器)