工作中遇到的问题,例如如何获取图片中resources的value,自己逐层去找可以达到效果,但感觉很low,逐层遍历的话又感觉反而加大了编写和运行成本,求解
正常来说这种返回的数据都是有固定的格式的,获取某个特定字段必须一层一层的找到对应位置才可以,否则你无法保证你取到的是想要的值,没有必要逐层遍历。只有当你获取的key的名称是一个动态名称时才需要遍历,但你也得知道是在哪个节点下才行,因为多个节点下可能存在相同的key
1.如果给的数据结构能变,就从数据结构上做调整,让数据简洁一些,方便取出
2.数据结构不变,除了遍历,还能想到的就是Stream了,可以试试
参考
这种就是全部放在JSONObject对象中,以key-value的方式存储,value可以是对象、集合
你可以用hutool工具集里的根据表达式获取json指定数据的方法。cn.hutool.json.JSONUtil#getByPath
依赖是
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.4.2</version>
</dependency>
转json,找关键词
如果是SpringBoot 读取K8s这种自定义的yml,可以使用@PropertySource 和 @ConfigurationProperties注解搭配使用 读取自定义yml
你的数据存储是集合且有层级关系,自然需要遍历,而且是多次。一般配置数据都是初始化加载到内存,不存在你说的效率问题的。
jsonpath(不懂就百度一下,很简单),确定好路径,一步到位