gpt4 book ai didi

java - 如何根据Gson中的key直接获取json中的值

转载 作者:行者123 更新时间:2023-11-30 03:35:08 26 4
gpt4 key购买 nike

我的 JSON 字符串如下

String jtext= {"data":{"key1":"hello","key2":{"key21": [{"key211":"val1","key212":"val2","key213":"val3},{......},{.....}……..]}}

我只对key21内的数组感兴趣。是否可以直接获取key21里面的数组?

我已经尝试了下面的代码,它工作正常

JsonElement elementKey = new JsonParser().parse(jtext);
JsonObject eleObject = elementKey.getAsJsonObject();
JsonObject dataobj = eleObject.getAsJsonObject("data");

JsonObject key2= elementKey.getAsJsonObject("key2");
JsonArray jarray = data1.getAsJsonArray("key21");

那么是否可以直接穿透JSON对象来获取Gson中key21内的数组?我不希望从父级的整个链接进入所需的元素,或者可能是最小化 LOC 的解决方案。

最佳答案

您所要求的几乎正是 JSON Path,它有一个实现 here 。它有 Gson 支持,但被标记为实验性的。如果您感兴趣的是基于键的导航,不需要支持处理数组索引等,您可以使用这个明显更简单(但更有限)的选项,如 StackOverflow 上所讨论的,作者在其中实现了递归路径评估方法根据点指定的路径沿着元素树向下走:Using Gson with a path

包含这样的方法将为您提供单行解决方案。

关于java - 如何根据Gson中的key直接获取json中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28170793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com