使用正则表达式拆分简单的JSON结构

我之前从未使用过正则表达式,我希望拆分一个包含一个或多个JSON对象的文件,JSON对象不用逗号分隔。 所以我需要在“} {”之间拆分并保持两个花括号。 这是字符串的样子:

{id:"123",name:"myName"}{id:"456",name:"anotherName"} 

我想要一个像使用string.split()的字符串数组

 ["{id:"123",name:"myName"}", "{"id:"456",name:"anotherName"}"] 

如果您的对象并不比您显示的对象复杂,您可以使用如下的外观 :

 String[] strs = str.split("(?<=\\})(?=\\{)"); 

例子:

 String str = "{id:\"123\",name:\"myName\"}{id:\"456\",name:\"yetanotherName\"}{id:\"456\",name:\"anotherName\"}"; String[] strs = str.split("(?<=\\})(?=\\{)"); for (String s : strs) { System.out.println(s); } 

版画

 {id:"123",name:"myName"} {id:"456",name:"anotherName"} {id:"456",name:"yetanotherName"} 

如果你的对象更复杂,那么正则表达式可能不起作用,你必须解析你的字符串。