Не получается распарсить значение из списка в json
В Python делаю POST запрос на ресурс. В результате получаю json такого вида:
{
"success": true,
"message": "Operation success",
"objectIds": [
"36bf3862-5947-41d1-96b4-b74b8ebf4f4e"
],
"modified": 1704869899
}
Мне нужно вытащить значение objectIds и подставить его в url другого запроса (DELETE)
Вот так выглядит POST запрос:
post_url = base_url+post_resource
print(post_url)
result_post = requests.request("POST", post_url, headers=http_methods_instance.headers, data=json_for_create_new_npa, verify=False)
print(result_post.text)
response_json = json.loads(result_post.text)
object_ids = response_json['objectIds'][0]
print(object_ids)
return object_ids
А это метод DELETE:
@staticmethod
def delete_new_npa(object_ids, url):
delete_resource = f"/service/registry/legal/document/doc/{object_ids}"
delete_url = base_url + delete_resource
print(delete_url)
result_delete = Http_methods.delete(delete_url, url)
print(result_delete.text)
return result_delete
Пробовал конструкцию:
object_ids = response_json.get('objectIds', [])
print("Object IDs:", object_ids)
Но на выходе получается list и выходит ошибка, что 'list' object has no attribute 'json' Пробовал делать костуркци
Ответы (1 шт):
Автор решения: Zahar
→ Ссылка
Для работы с json-форматом есть специальная библиотека json. Ниже на примере покажу как получать данные с запроса в привычный формат dict:
import json
import requests
response = requests.get("https://jsonplaceholder.typicode.com/posts")
todos = json.loads(response.text)
print(type(todos[0]))
