2017-05-23 99 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