正则表达式从JSON字符串中提取对象

我有JSON字符串我想从中使用Regex从中提取字段。 该字段可以是ObjectArrayStringint或任何类型。 我知道另一种方式,例如循环遍历JSON中的所有键并找到它。 我想知道,这可以使用正则Regex来实现。 任何帮助都会很棒。

这可以使用正则表达式来实现

不合理,不,因为正则表达式不适合自己解释像JSON这样的结构; 与HTML一样,您需要一个合适的解析器。

相反,使用几个Java库中的任何一个来解析JSON,然后遍历其内容; 在JSON网站的底部有一个列表(我看到Gson使用了很多,但有很多选项)。

它可以通过正则表达式实现,但它根本没用,因为你必须解析自己的变量。

无论如何,假设我们有一个方法getObject(String key, String JSON)

 public String getObject(String key, String JSON) { Pattern p = Pattern.compile(String.format("\"%s\":\\s*(.*),", key)); Matcher matcher = pattern.matcher(JSON); if(matcher.find()) return matcher.group(); return null; } 

请注意,这只会发现第一次出现,您应该根据需要进行修改。 但是,我建议使用解析器为您解析值。

最好使用JSON反序列化工具(例如Jackson,GSON),获取对象和检查,