java - 如何访问没有标识符的 JSON 字段
问题描述
我怎样才能访问这个 JSON 末尾的 #19?我使用带有 GSON 库的 java 11,但任何库都可以或解释。
一些上下文:通常我引用该字段,.get("id")
但 19 是我第一次看到它,我知道这是因为该 JSON 中的循环引用,我们在模型类上使用@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property="id")
注释来修复它。还要提到“功能列表”字段是功能的子列表,因此在此示例中,ID 为 15 的功能具有 ID 为 19 的子。我感谢任何帮助或建议
[
{
"id": 15,
"name": "Imprimir",
"description": "Funcionalidad que permite imprimir",
"functionalityList": [
{
"id": 19,
"name": "Imprimir PDF",
"description": "Funcionalidad que permite imprimir PDF",
"functionalityList": [],
"parentid": 15
}
],
"parentid": null
},
19
]
解决方案
这是一个 JSON 数组,数组中的元素不应该有标识符,比如
JsonArray arr = new JsonParser().parse(jsonString).getAsJsonArray();
然后您可以获取对象(数组中的第一项)
JsonObject object = arr.get(0).getAsJsonObject();
或 in 在 int (第二项)
int id = arr.get(1).getAsInt();
推荐阅读
- c# - C# - 不能在同一源的 WPF 项目中使用 .NET Framework 项目中的类
- canvas - 带有 clearRect 和 AudioContext 的画布清除路径
- ssl - URL 阻止机器人
- python - 为什么 Python 函数返回错误的值?
- css - 如何使用 css 和 html 悬停边框?
- angular - 将可见性设置为隐藏后删除表格行之间的间隙
- mongodb - 当您超出 mongoDB 中的空间限制时发生了什么?
- wordpress - 下订单时触发操作(woocommerce)
- xml - 模块化 XML 文件和嵌套过程
- r - 在 R 中拆分文本并分配以选择现有列,同时考虑缺失的观察结果