我有一个简单的问题,假设我有以下json
{ "ALPHA":[ .... ], "BETA":[ .... ], "GAMMA":[ ..... ] }
我如何访问subroot元素,我指的是名称:"ALPHA","BETA","GAMMA"使用jsonPath?请注意,我指的是它们的名称而不是数组!!!我试过jsonPath("$[*]", ...),但它不起作用,有什么建议吗?
"ALPHA","BETA","GAMMA"
jsonPath("$[*]", ...)
fzwojiic1#
您可以考虑另一个库 Josson。只需一个函数keys()就可以完成这项工作。https://github.com/octomix/josson
keys()
Josson josson = Josson.fromJsonString( "{" + " \"ALPHA\":[" + " 1,2,3,4" + " ]," + " \"BETA\":[" + " 5,6,7" + " ]," + " \"GAMMA\":[" + " 8,9" + " ]" + "}"); JsonNode node = josson.getNode("keys()"); System.out.println(node.toPrettyString());
输出量
[ "ALPHA", "BETA", "GAMMA" ]
lf5gs5x22#
谢谢你@Raymond Choi,它应该也能工作。但是根据你的回答,我应该使用函数keys(),我搜索了一点,我发现jsonPath确实有自己的函数。所以我的问题的解决方法很简单:jsonPath("$.keys())
jsonPath
jsonPath("$.keys())
2条答案
按热度按时间fzwojiic1#
您可以考虑另一个库 Josson。只需一个函数
keys()
就可以完成这项工作。https://github.com/octomix/josson
输出量
lf5gs5x22#
谢谢你@Raymond Choi,它应该也能工作。
但是根据你的回答,我应该使用函数
keys()
,我搜索了一点,我发现jsonPath
确实有自己的函数。所以我的问题的解决方法很简单:
jsonPath("$.keys())