我有多个Json文件,我想合并/合并并制作一个Json文件。 下面的代码使我出错
def merge_JsonFiles(*filename):
result = []
for f1 in filename:
with open(f1, 'rb') as infile:
result.append(json.load(infile))
with open('Mergedjson.json', 'wb') as output_file:
json.dump(result, output_file)
# in this next line of code, I want to load that Merged Json files
#so that I can parse it to proper format
with open('Mergedjson.json', 'rU') as f:
d = json.load(f)
下面是我输入的json文件的代码
if __name__ == '__main__':
allFiles = []
while(True):
inputExtraFiles = input('Enter your other file names. To Ignore this, Press Enter!: ')
if inputExtraFiles =='':
break
else:
allFiles.append(inputExtraFiles)
merge_JsonFiles(allFiles)
但是它给我抛出了一个错误
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
此外,我想确保如果从控制台仅获取一个输入文件,则json的合并不应引发错误。
任何帮助,为什么这会引发错误?
更新
它变成返回一个空的Mergedjson文件。我有有效的json格式
答案 0 :(得分:1)
错误消息json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
表示您的JSON文件格式错误,甚至为空。请仔细检查文件是否为有效的JSON。
此外,您的filename
参数也没有必要成为可变长度参数列表:
def merge_JsonFiles(*filename):
删除*
运算符,以便实际上可以根据filename
列表读取JSON文件。
def merge_JsonFiles(filename):