我正在分析包含json对象的文件。问题是有些文件在一行中有多个对象。e、 g.:
{"data1": {"data1_inside": "bla{bl\"a"}}{"data1": {"data1_inside": "blabla["}}{"data1": {"data1_inside": "bla{bla"}}{"data1": {"data1_inside": "bla["}}
我已经创建了一个函数,它尝试在没有左括号的情况下解析子字符串,但是值中可能有大括号。我试过通过检查引号的开头和结尾来跳过值,但也有一些值使用了转义引号。对如何处理这个问题有什么想法吗?
我的尝试:
def get_lines(data):
lines = []
open_brackets = 0
start = 0
is_comment = False
for index, c in enumerate(data):
if c == '"':
is_comment = not is_comment
elif not is_comment:
if c == '{':
if not open_brackets:
start = index
open_brackets += 1
if c == '}':
open_brackets -= 1
if not open_brackets:
lines.append(data[start: index+1])
return lines
目前没有回答
相关问题 更多 >
编程相关推荐