我有文件,其中每一行都是json字符串。我将此文件加载到字符串列表中。有没有办法将所有这些字符串转换为字典列表? json.loads()
只能逐行转换。感谢
我找到了一种方法:L = list(expression for variable in sequence)
答案 0 :(得分:3)
这应该做的工作:
result = None
with open("filename", 'r') as fh:
result = [json.loads(line) for line in fh]
或者您可以使用map
代替列表推导,如@JeffS所说
result = None
with open("filename", 'r') as fh:
result = map(json.loads, fh)
答案 1 :(得分:0)
使用json模块加载JSON。 (2.6之前使用第三方simplejson模块,它具有相同的API。)
>>> import json
>>> f = open(‘json.file’,'r’)
>>> d = json.loads(f.read())
>>> print d
或使用旧的hack使用json和python dict语法之间的相似性,但是如果您确定json文件不包含json注释,则只使用此hack ..
f = open('json.file','r')
d = eval(f.read())