Ваше значение в байтах содержит кодированный в двойном формате документ JSON.Вам не нужно кодировать это в третий раз.
Если вы хотите загрузить данных в объект Python, вам нужно декодировать JSON, дважды , используя json.loads()
:
import json
new_bytes_start = json.loads(json.loads(bytes_start))
Демо:
>>> import json
>>> bytes_start = b'"[{\\"method\\": \\"NULLABLE\\", \\"title\\": \\"Customer\\", \\"type\\": \\"STRING\\"}, {\\"method\\": \\"NULLABLE\\", \\"title\\": \\"Vendor\\", \\"type\\": \\"INTEGER\\"}]"'
>>> json.loads(bytes_start)
'[{"method": "NULLABLE", "title": "Customer", "type": "STRING"}, {"method": "NULLABLE", "title": "Vendor", "type": "INTEGER"}]'
>>> json.loads(json.loads(bytes_start))
[{'method': 'NULLABLE', 'title': 'Customer', 'type': 'STRING'}, {'method': 'NULLABLE', 'title': 'Vendor', 'type': 'INTEGER'}]
Если вы используете версию Python старше Python 3.6, вам также придетсясначала декодировать строку байта;предположительно это UTF-8, в какой момент вы будете использовать:
new_bytes_start = json.loads(json.loads(bytes_start.decode('utf8')))