2015-03-28 5 views
0

Мне было интересно, как использовать библиотеку запросов, чтобы вытащить текст из поля в Json? Мне не нужен красивый суп для этого?Как получить информацию от Json

+2

Если вы уже имеют структуру JSon, проверить модуль JSon –

ответ

2

Если ваш ответ действительно формат JSON, вы можете просто использовать запросы.json() доступ к полям, например, так:

import requests 

url = 'http://time.jsontest.com/' 

r = requests.get(url) 
# use .json() for json response data 
r.json() 
{u'date': u'03-28-2015', 
u'milliseconds_since_epoch': 1427574682933, 
u'time': u'08:31:22 PM'} 

# to access the field 
r.json()['date'] 
u'03-28-2015' 

Это будет автоматически анализировать ответ JSON в словаре Пайтона:

type(r.json()) 
dict 

Вы можете прочитать больше о response.json Вот.

В качестве альтернативы просто использовать json модуль Питона:

import json 

d = json.loads(r.content) 

print d['date'] 
03-28-2015 

type(d) 
dict 
+0

Хммм мой Json является: { \t«ответ»: { \t \t«STEAMID»:«XXXXXXXXXXXXXXXXX», \t \t «успех»: 1 \t} } Как я могу вынуть Steamid? – Marorin

+0

@Marorin, как и в словаре Python, то есть: 'r.json() ['response'] ['steamid']' – Anzel

+0

Спасибо, что это был глупый момент. – Marorin

0

Какую версию Python вы используете? С 2,6 года вы можете сделать это:

import json 

json_data=open(file_directory).read() 

data = json.loads(json_data) 
print(data) 
+0

Я думаю, что спросил Автор развивает наоборот, так что 'json.loads (some_json) ' – syntonym

+0

Измененный фрагмент кода, но upvoted ответ Anzel как это более подробная и, вероятно, более полезным, а .. – Jaco

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