Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过正则表达式从值中包含花括号的字符串中提取json对象_Java_Json_Regex - Fatal编程技术网

Java 如何通过正则表达式从值中包含花括号的字符串中提取json对象

Java 如何通过正则表达式从值中包含花括号的字符串中提取json对象,java,json,regex,Java,Json,Regex,在我的例子中,我希望通过正则表达式提取字符串中的每个JSON对象 对于exp: 字符串是:的值 {"Name":"Jenkins url (Build Information)","Type":null,"Id":null,"Value":null} and {"Name":"}Tomcat{"} 200次/库斯/自动麦克风 将提取JSON对象: {"Name":"Jenkins url (Build Information)","Type":null,"Id":null,"Value":nu

在我的例子中,我希望通过正则表达式提取字符串中的每个JSON对象

对于exp:

字符串是:的值

{"Name":"Jenkins url (Build Information)","Type":null,"Id":null,"Value":null} and {"Name":"}Tomcat{"}
200次/库斯/自动麦克风

将提取JSON对象:

{"Name":"Jenkins url (Build Information)","Type":null,"Id":null,"Value":null}

*注: 我试过正则表达式

"\\{(?:[^}{]+|\\{(?:[^}{]+|\\{[^)(]*\\})*\\})*\\}"
但它可以提取

{"Name":"Jenkins url (Build Information)","Type":null,"Id":null,"Value":null} and **{"Name":"}
因此最后一个JSON对象无效。有人知道吗


非常感谢

我检查了您的正则表达式,它会选择所有3个JSON文档,不管其有效性如何。检查模拟。

原始字符串似乎不包含有效的JSON对象?@Evan有效的JSON对象是{“名称”:“Jenkins url(构建信息)”,“类型”:null,“Id”:null,“值”:null}和{“名称”:“}Tomcat{}。但是我不能用这个正则表达式从字符串中得到最后一个:(啊,我明白了。:(你有没有更好的办法来解决我的问题?@anhnv我检查了你的正则表达式,它会选择所有3个JSON文档,不管有效性如何。检查这里的模拟。这不正确,因为我只选择了2个JSON对象,最后一个对象的值类似于}Tomcat{
{"Name":"Jenkins url (Build Information)","Type":null,"Id":null,"Value":null} and **{"Name":"}