将ldap结果格式化为json

时间:2019-05-31 22:01:21

标签: python json formatting ldap

我需要将ldap结果转换为json。我已经尝试了几个小时,但没有找到任何解决方案。

search_filter = "CN=My Name"
attrs = ['givenName', 'sn', 'thumbnail_pic', 'phone', 'mail']
result = connect.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter, attrs)

我有这个输出:

('CN=My Name,OU=City,OU=Company,DC=com,DC=lan', {'sn': [b'Name'], 'givenName': [b'My'], 'phone': [b'+111 111 111 111'], 'mail': [b'My.Name@company.com'], 'thumbnail_pic': [b'binary data of picture']})

我想将其转换为这个漂亮的json

[
            {
                "first_name": "My",
                "last_name": "Name",
                "picture": "binary data of picture",
                "phone_number": "+111 111 111 111",
                "email": "My.Name@company.com",
            }
]

我迫切需要帮助,因为我想我几乎尝试了所有方法...有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试使用simplejson。该库可以很好地处理字节字符串。

pip3 install simplejson

样品用量:

import simplejson

ldap_result = ('CN=My Name,OU=City,OU=Company,DC=com,DC=lan', {'sn': [b'Name'], 'givenName': [b'My'], 'phone': [b'+111 111 111 111'], 'mail': [b'My.Name@company.com'], 'thumbnail_pic': [b'binary data of picture']})

print(simplejson.dumps(ldap_result[0][1]))