Читать XML из службы - почему XML автоматически конвертируется в JSON - PullRequest
0 голосов
/ 18 апреля 2020

Просто вопрос «почему», я пытаюсь найти ответ в документации, но не вижу его.

У меня есть этот код для чтения XML из веб-службы publi c , Но почему, когда я печатаю ответ, он не в формате XML, а в формате JSON. Почему это происходит?

Если мы go к источнику в браузере, мы можем увидеть его в формате XML.

from urllib.request import urlopen
import xml.etree.ElementTree as ET

var_url = urlopen('https://dadosabertos.camara.leg.br/api/v2/deputados?ordem=ASC&ordenarPor=nome')
xml_response = var_url.read()
xml_response = xml_response.decode('utf-8')
var_url.close()

print(xml_response)

Спасибо за ответ.

1 Ответ

0 голосов
/ 18 апреля 2020

Вы вообще не используете XML.

API, используемый https://dadosabertos.camara.leg.br/api/ ..., является JSON API.

Вы можете написать:

from urllib.request import urlopen
import json

var_url = urlopen(
    'https://dadosabertos.camara.leg.br/api/v2/deputados?ordem=ASC&ordenarPor=nome'
)
response = var_url.read()
response = response.decode('utf-8')
var_url.close()

obj = json.loads(response)
print(obj)

Вы можете отобразить заголовок вашего ответа, используя:

print(var_url.info())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...