我需要使用 LDAP 从服务器获取数据。我正在使用 ldap3,并且正在获取我需要的所有属性和响应,但是它们被困在 ldap.abstract.entry.entry 类中。我尝试了几种方法将数据转换为 json 或列表形式,但它从未按照我预期的方式工作。
例如我尝试过:
entry = conn.entries
current_data = (entry.entry_to_json())
print(type(current_data))
print(len(current_data))
>>> <class 'str'>
>>> 480
Run Code Online (Sandbox Code Playgroud)
然而,这导致我的所有数据都是长度为 480 或更长的单个字符串。我尝试过使用这个,但事实证明这非常困难。所以我尝试以下方法将字符串转换为字典:
current_data = (entry[0].entry_to_json())
current_data = ast.literal_eval(current_data)
print(type(current_data))
print(len(current_data))
>>> <class 'dict'>
>>> 2
Run Code Online (Sandbox Code Playgroud)
但是,现在我无法单独访问所有不同的属性。我的目标是将从 LDAP 查询获得的所有数据写入 CSV,以便其他应用程序可以使用它。但目前我陷入困境,因为我无法将数据转换为 JSON 或 CSV 格式。
如何获取并处理来自 的数据,conn.entries以便将每个属性写入 CSV 中的单独列?
最好的祝愿,
C·泽布
编辑:
这是我使用时得到的示例(entry.entry_to_json()):
{
"attributes": {
"dcxLDOUniqueCN": [
"XXXX"
],
"dcxPostalAddress": [
"XXX"
],
"dcxSupervisor": [
"XXX"
],
"mail": [
"XXX"
],
"mobile": [],
"uid": …Run Code Online (Sandbox Code Playgroud)