Python API响应 - 如何格式化/选择响应的布局

时间:2018-01-16 17:19:08

标签: python json python-2.7 rest

我大约需要2天才能进入Python(我认为是2.7)而且我试图让API响应在这里更具可读性,目前很难解读英语回复。

import json, requests

response = requests.get("http://data.dublinked.ie/cgi-
bin/rtpi/realtimebusinformation?stopid=1341&routeid=49&format=json")

data = response.json()

print data

响应是这样的,而且非常难看:(我想A)格式化它,因此它更具可读性,可能在列表或键中:值对? B)如何从响应中仅选择某些信息?

numberofresults: 2
timestamp: 16/01/2018 17:04:15
errormessage: 
results: [{u'origin': u'Tallaght', u'direction': u'Inbound',
u'destinationlocalized': u'Sr\xe1id an Phiarsaigh', u'monitored': u'true',         
u'departureduetime': u'6', u'route': u'49', u'additionalinformation': u'',         
u'destination': u'Pearse St', u'scheduleddeparturedatetime': u'16/01/2018 
17:09:00', u'scheduledarrivaldatetime': u'16/01/2018 17:09:00', 
u'sourcetimestamp': u'16/01/2018 17:01:53', u'operator': u'bac', 
u'departuredatetime': u'16/01/2018 17:10:56', u'arrivaldatetime': 
u'16/01/2018 17:10:56', u'lowfloorstatus': u'no', u'originlocalized':                                 
u'Tamhlacht', u'duetime': u'6'}, {u'origin': u'Tallaght', u'direction': 
u'Inbound', u'destinationlocalized': u'Sr\xe1id an Phiarsaigh', 
u'monitored': u'true', u'departureduetime': u'37', u'route': u'49', 
u'additionalinformation': u'', u'destination': u'Pearse St', 
u'scheduleddeparturedatetime': u'16/01/2018 17:42:00', 
u'scheduledarrivaldatetime': u'16/01/2018 17:42:00', u'sourcetimestamp': 
u'16/01/2018 16:43:44', u'operator': u'bac', u'departuredatetime': 
u'16/01/2018 17:42:13', u'arrivaldatetime': u'16/01/2018 17:42:13', 
u'lowfloorstatus': u'no', u'originlocalized': u'Tamhlacht', u'duetime': 
u'37'}]
errorcode: 0
stopid: 1341
[Finished in 0.7s]

我很可能在问题/答案上加倍,但我似乎无法找到它!抱歉。 此外,“你”也是我不明白的东西。

提前谢谢大家x

2 个答案:

答案 0 :(得分:1)

'u'代表unicode字符串。返回类型是键值(字典)数据类型

import json, requests
import pprint

response = requests.get("http://data.dublinked.ie/cgi-bin/rtpi/realtimebusinformation?stopid=1341&routeid=49&format=json")
data = response.json()

pprint.pprint(data)  #Better view
print data['numberofresults']  #Key-Value

答案 1 :(得分:1)

python中的json库非常有用,尤其是在使用JSON对象时。我会特别看一下json.dump和json.dumps方法。如果查看official documentation,json.dumps将返回一个字符串并采用分隔符参数和缩进参数。

a[w,e,d]

如上所述,字符串前面的u表示unicode字符串,您现在可以放心地忽略它。