我有JSON
字符串我想从中使用Regex从中提取字段。该字段可以是Object
,Array
,String
,int
或任何类型。我知道另一种方式,例如循环遍历JSON
中的所有键并找到它。我想知道,这可以使用Regex
来实现。任何帮助都会很棒。
答案 0 :(得分:3)
这可以使用正则表达式来实现
不合理,不,因为正则表达式不适合自己解释像JSON这样的结构;与HTML一样,您需要一个合适的解析器。
相反,使用几个Java库中的任何一个来解析JSON,然后遍历其内容;在the JSON site的底部有一个列表(我看到Gson使用了很多,但有很多选项)。
答案 1 :(得分:1)
它可以通过正则表达式实现,但它根本没用,因为你必须解析自己的变量。
无论如何,我们假设我们有一个方法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;
}
请注意,这只会发现第一次出现,您应该根据自己的需要进行修改。 但是,我建议使用解析器为您解析值。
答案 2 :(得分:0)
最好使用JSON反序列化工具(例如Jackson,GSON),获取对象并检查,