我有一个 Java 应用程序正在访问返回以下 JSON 的第 3 方 RESTful Web 服务:
{"fizz":
{"widgets":
[
{
"widget_id":"295874"
},
{
"widget_id":"295873"
},
{
"widget_id":"295872"
}
],
"otime":1361993756
},
"resp":"ok"
}
通常我会使用 GSON 或 Genson 将其映射回 Java POJO,但这是我必须执行此操作的唯一代码区域,我想在这里偷懒 ;-)。
我正在尝试想出一个漂亮的方法来提取 3 个 widget_id
值(、
和 `)并将它们作为
列表`:
public List<Long> extractIdsFromJson(String json) {
// Can I solve this with a regex perhaps?
}
不确定正确的方法是什么 - 正则表达式、replaceAll 还是其他?提前致谢。
最佳答案
从长远来看,在这里偷懒只会害了你。解析 JSON 并以这种方式提取值;所涉及的“努力”会更少,代码会更容易理解, future 的代码维护者不会诅咒你的名字。
关于从 String 中提取 ID 的 Java regex 和/或 string magic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15136209/