从 String 中提取 ID 的 Java regex 和/或 string magic

标签 java regex json string

我有一个 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/

相关文章:

java - 无法使用 ServletFileUpload 上传 100MB 文件

Java AssertionError 但我得到了正确的答案

arrays - PostgreSQL JSON 构建一个没有空值的数组

python - 创建一个引擎以在python中用json对象替换模板条目

java - 物化和交易

java - 谷歌应用程序中的 Java IDE

Java RegEx 找不到匹配错误

java - 在 JTable 中搜索 - 未获得正确的输出

正则表达式匹配澳大利亚商业号码 (ABN)

java - 从 json 模式动态生成 JSON