Как преобразовать текст в список dict в Python - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть текстовый результат, подобный этому:

{"title": "Less Payment", "outstanding": false, "content": [{"name": "Customer Payment: INV/2020/0002", "journal_name": "Cash", "amount": 50000.0, "currency": "Rp", "digits": [69, 2], "position": "before", "date": "2020-04-29", "payment_id": 13, "account_payment_id": 3, "payment_method_name": null, "move_id": 9, "ref": "CSH1/2020/0003 (INV/2020/0002)"}, {"name": "Customer Payment: INV/2020/0003", "journal_name": "Cash", "amount": 15000.0, "currency": "Rp", "digits": [69, 2], "position": "before", "date": "2020-04-29", "payment_id": 18, "account_payment_id": 4, "payment_method_name": null, "move_id": 11, "ref": "CSH1/2020/0004 (INV/2020/0003)"}]}

кажется словарным, но на самом деле тип данных этого результата - строка.

Я хочу преобразовать это в правильный формат, чтобы я мог обрабатывать данные.

Как это сделать ..?, или любой учебник или источник, чтобы узнать об этом ..?

Для получения дополнительной информации, я получил результат от Odoo13 mail.template , затем я хочу получить результат из поля invoice_payments_widget из account.move объекта.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020
import json
x='{"title": "Less Payment", "outstanding": false, "content": [{"name": "Customer Payment: INV/2020/0002", "journal_name": "Cash", "amount": 50000.0, "currency": "Rp", "digits": [69, 2], "position": "before", "date": "2020-04-29", "payment_id": 13, "account_payment_id": 3, "payment_method_name": null, "move_id": 9, "ref": "CSH1/2020/0003 (INV/2020/0002)"}, {"name": "Customer Payment: INV/2020/0003", "journal_name": "Cash", "amount": 15000.0, "currency": "Rp", "digits": [69, 2], "position": "before", "date": "2020-04-29", "payment_id": 18, "account_payment_id": 4, "payment_method_name": null, "move_id": 11, "ref": "CSH1/2020/0004 (INV/2020/0003)"}]}'
x=json.loads(x)
0 голосов
/ 29 апреля 2020
import json
my_json_string = "{'hi':5}"
res = json.loads(my_json_string)
print(res['hi']) # 5
...