Python - вывести некоторые данные из ответа - PullRequest
0 голосов
/ 25 марта 2020

Я делаю запрос:

import request in python:
url = "http://myweb.com/call" 
payload  = {} 
headers = {   'Content-Type': 'application/json',   'Token': '123456789' }

response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))

, и я получаю и распечатываю ответ как:

{"name":"Peter","LastName":JOHN,"RegDate":"2020-03-25T17:34:42.5306823Z","Number":7755}

, но я хочу, чтобы в операторе печати отображалось только "Имя "и" номер "params. Не весь ответ должен быть напечатан. Как мне это сделать? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 25 марта 2020

Response является объектом словаря, поэтому вы хотите напечатать два значения из этого словаря, используя ключи для этих значений:

response_text = response.text.encode('utf8')
print(response_text['name'], response_text['Number'])

edit: в действительности объект dict находится глубже, чем я первоначально понял .

0 голосов
/ 25 марта 2020

Вы можете сделать это:

import json

response = requests.request("POST", url, headers=headers, data = payload)
response_txt=json.loads(response.text.encode('utf8'))
print(response_txt['name'])
print(response_txt['Number'])

response.text.encode('utf8') создает строку, поэтому вам нужно импортировать библиотеку json и преобразовать эту строку в объект с помощью json.loads. Затем вы можете получить доступ к клавишам с помощью response_txt['name'] и response_txt['Number'].

...