简单但不够健壮的版本:
>>> import re>>> s = r'{"data1": {"data1_inside": "bla{bl"a"}}{"data1": {"data1_inside": "blabla["}}{"data1": {"data1_inside": "bla{bla"}}{"data1": {"data1_inside": "bla["}}'>>> r = re.split('({.*?})(?= *{)', s)['', '{"data1": {"data1_inside": "bla{bl\"a"}}', '', '{"data1": {"data1_inside": "blabla["}}', '', '{"data1": {"data1_inside": "bla{bla"}}', '{"data1": {"data1_inside": "bla["}}']如果
}{包含在字符串中,则将失败正如其他建议一样,您然后可以尝试解析每个元素。如果无效,则应与下一个元素一起检查此元素。
请注意,这
r是上面代码的结果
accumulator = ''res = []for subs in r: accumulator += subs try: res.append(json.loads(accumulator)) accumulator = '' except: pass



