更新:我应该马上提到这一点:我首先考虑了一个 Java/JSON 映射框架,但我的经理不希望我向项目添加更多依赖项,所以这是一个选项。JSON-Java jar 已经在我们的类路径中,所以我可以使用它,但仍然无法通过树木看到森林如何使用它。
我的 Java 程序正在收到以下格式的 JSON(尽管值会一直变化):
{"order":{"booze":"1","handled":"0","credits":"0.6",
"execute":0,"available":["299258"],"approved":[],
"blizzard":"143030","reviewable":["930932","283982","782821"],
"units":"6","pending":["298233","329449"],"hobbit":"blasphemy"}}
我正在寻找最简单、高效、可靠的方法来从这个 JSON 字符串中挑选特定值并将它们聚合到List<Long>
.
具体来说,我希望提取和聚合所有“ id ”,即您在 、 和 字段中看到available
的所有数值approved
。这些字段中的每一个都是一个由 0+“ids”组成的数组。因此,在上面的示例中,我们看到了以下 id 细分:reviewable
pending
available
: 有 1 个 id (299258)approved
: 有 0 个 IDreviewable
: 有 3 个 id (930932, 283982, 782821)pending
: 有 2 个 id (298233, 329449)
我需要一些 Java 代码来运行并生成List<Long>
包含所有 6 个提取的 id 的 a,没有特定的顺序。id 只需要将其放入列表中。
这感觉就像一个非常复杂、令人费解的正则表达式,我什至不确定从哪里开始。非常感谢任何帮助。提前致谢。