我有以下代码将以下格式转换为json。
import json
filepath = "user.ldif"
with open(filepath) as file:
json_list = []
json_obj = {}
for line in file:
if line != "\n":
split = line.split(":")
json_obj1 = {split[0] : split[1]}
json_obj.update(json_obj1)
else:
json_list.append(json_obj)
print(json_obj)
print(json_list)
with open('ldif.json', 'w') as outfile:
json.dump(json_list, outfile)
**输入**
dn: a
changetype: a
objectclass: a
objectclass: a
objectclass: a
objectclass: a
objectclass: a
objectclass: a
objectclass: a
mail: a
surname: a
givenname: a
cn: a
dn: b
changetype: b
objectclass: b
objectclass: b
objectclass: b
objectclass: b
objectclass: b
objectclass: b
objectclass: b
mail: b
surname: b
givenname: b
cn: b
输出
{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}
[{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}]
{'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}
[{'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}, {'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}]
预期输出
{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}
[{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}]
{'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}
[{'dn': ' a\n', 'changetype': ' a\n', 'objectclass': ' a\n', 'mail': ' a\n', 'surname': ' a\n', 'givenname': ' a\n', 'cn': ' a\n'}, {'dn': ' b\n', 'changetype': ' b\n', 'objectclass': ' b\n', 'mail': ' b\n', 'surname': ' b\n', 'givenname': ' b\n', 'cn': ' b\n'}]
正如您在输出中看到的,列表中的两个条目都是相同的。 但我希望它以预期的结果格式。 我必须进行哪些更改。
谢谢