我正在使用python中的JSON文件。我在列表中有密钥,每个密钥都检索一个JSON记录,我将其存储在一个文件中。每个JSON记录都包含该密钥。
在一个单独的过程中,我需要读取该JSON文件并检索每条记录,获取密钥并执行其他操作。
问题是我无法以这种方式存储的文件中读取JSON行:
dataFile = open(output_file, "w")
for line in keys_list:
json_line = fetch_json_str(line)
data = simplejson.loads(json_line)
dataFile.write(simplejson.dumps(data, sort_keys = True))
它将所有内容读入一行,返回列表的长度为0,len(json_lines)。
json_lines = [line.strip() for line in open(tmp_load_file)]
for line in json_lines
data = simplejson.loads(simplejson.dumps(line))
我做错了什么?有没有办法在不改变我存储方式的情况下取回JSON行,因为这将要求重新处理我以这种方式存储的所有json文件。
答案 0 :(得分:1)
编写json字符串时需要添加行分隔符
dataFile.write(simplejson.dumps(data, sort_keys = True) + '\n')
否则,您只需将所有json记录放在一行中,json解析器就无法解决。