java用正则匹配复杂json中的某个属性
时间: 2023-06-15 13:02:55 浏览: 245
可以使用Java中的正则表达式和JSON解析库来实现匹配。以下是一个简单的示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonParser {
public static void main(String[] args) {
String json = "{\"name\": \"John Doe\", \"age\": 30, \"address\": {\"city\": \"New York\", \"state\": \"NY\"}, \"phoneNumbers\": [\"123-456-7890\", \"987-654-3210\"]}";
// 使用JSON库解析JSON字符串
JSONObject root = new JSONObject(json);
// 使用正则表达式匹配属性名
Pattern pattern = Pattern.compile("name");
Matcher matcher = pattern.matcher(json);
if (matcher.find()) {
// 找到匹配的属性名,获取属性值
String name = root.getString("name");
System.out.println("Name: " + name);
} else {
System.out.println("No match found");
}
}
}
```
在上面的示例中,我们使用了JSON库来解析JSON字符串,并使用正则表达式来匹配属性名。如果找到了匹配的属性名,就可以使用JSON库来获取属性值。在这个示例中,我们获取了"name"属性的值,并将其打印到控制台上。
阅读全文