2017-05-23 100 views
0

我能夠打印使用API​​抽取的json文件,但是我被困在能夠使其搜索查詢或只能從中打印特定數據段。 api是PGA Tour玩家的Bios。如何從Json字符串或字典打印一條信息?我試着在這裏搜索,找不到任何可以讓我只打印「Jason Day」等特定數據的任何東西,非常感謝。API搜索查詢python 3.5

import http.client 

import json 

import urllib.parse 

conn = http.client.HTTPSConnection("api.sportradar.us") 

conn.request("GET", "/golf-t2/changelog/pga/2017/2/21/changes.json?api_key=8vdpch88ce829q4u7najdjcg") 

res = conn.getresponse() 

data = res.read() 

data2 = (data.decode("utf-8")) 

print(data2) 
+0

使用'requests'庫。他們的[主頁](http://docs.python-requests.org/en/master/)有一個你正在尋找的例子 – Dwaxe

回答

0

你需要將其轉換成JSON:

import http.client 

import json 

import urllib.parse 

conn = http.client.HTTPSConnection("api.sportradar.us") 

conn.request("GET", "/golf-t2/changelog/pga/2017/2/21/changes.json?api_key=8vdpch88ce829q4u7najdjcg") 

res = conn.getresponse() 

data = res.read() 

data2 = json.loads((data.decode("utf-8"))) 

print(data2["id"]) 
如果你要發現某件事是否在JSON

簡單地使用: something in data2

+0

非常感謝你的幫助。至於我可以在[「ID」]我應該能夠在Api文檔中找到? – iampotential

+0

是的,你需要閱讀文檔或做一個for循環和打印所有的鍵... –

+0

http://api.sportradar.us/golf-t2/summary/pga/2017/tournaments/6180b261-9595-4b90- a706-58f54258da71/summary.json API_KEY = 8vdpch88ce829q4u​​7najdjcg 以上是API: 打印(數據2 [ '場地'] 它返回這樣的事情... :{ 「ID」:「6c5fd917-3708-4560-bd3d-f7b060b13e93 「,」城市「:」Fort [{「名稱」:「殖民地鄉村俱樂部」,「碼數」:7204,「par」:70,「id」:「756588be-366c- 49ef-ae3c-bf129b785e2b」, 「洞」:[{ 「號碼」:1, 「相提並論」:5 「碼數」:565},{ 「數量」:2 「面值」:4 「碼數」:389 }, 如何才能打印出「2號par 4碼數389」? tyvm – iampotential