2015-03-09 7 views
-2

Я работаю над преобразованием конвертируемой валюты в Python. Я успешно извлек все данные, необходимые из URL-адреса, в Python. Однако теперь я пытаюсь вызвать определенную строку в URL-адресе. Вот мой текущий код:Получить данные от JSON Python?

import urllib.request 
import json 

##Define JSON API Url 
with urllib.request.urlopen("http://openexchangerates.org/api/latest.json?app_id=XXX") as url: 
    response = url.read() 

##Print Fetched data 
print (response) 

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

Вопрос в том, как я могу разобрать конкретные строки из URL-адреса? Я слышал о json.load, это то, что я должен использовать?

+2

какой у вас вопрос? вы попробовали 'json.loads (response)'? – HuStmpHrrr

+0

Извините, мой вопрос был отредактирован. Не могли бы вы объяснить дальше с помощью json.loads? Благодарим вас за быстрый ответ. – Stewartps

+0

лучше сначала искать документацию: https://docs.python.org/3/library/json.html – HuStmpHrrr

ответ

1

Вам необходимо загрузить данные как JSON; json module может сделать это за вас, но сначала вам нужно сначала декодировать данные в текст.

import urllib.request 
import json 

with urllib.request.urlopen("http://openexchangerates.org/api/latest.json?app_id=XXX") as url: 
    response = url.read() 

charset = url.info(). get_content_charset('utf-8') # UTF-8 is the JSON default 
data = json.loads(response.decode(charset)) 

С этого момента из data является объектом Python.

Судя по documenation вы должны быть в состоянии получить доступ к скорости, как:

print('Euro rate', data['rates']['EUR']) 

, например.

+0

Блестяще это сработало! Спасибо за вашу помощь :) – Stewartps

Смежные вопросы