如何从API返回中读取和分配变量,格式为Dictionary-List-Dictionary?

时间:2016-05-16 04:14:41

标签: python list api dictionary

所以我想在这里学习Python,并感谢你们给我的任何帮助。我写了一些代码,询问我最喜欢的网站之一的一些信息,api调用在字典中返回一个答案。在这本词典中是一个列表。在那个列表中是一本字典。这对我来说似乎很疯狂,但地狱,我是新手。

我正在尝试为变量分配答案,但总是会根据我写{},[]或()的方式获得各种错误消息。无论如何,我无法让它发挥作用。我怎么看这个回报?提前谢谢。

<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.21.0/ramda.min.js"></script>
<pre id="results"></pre>

编辑,因为我输错了示例代码。

3 个答案:

答案 0 :(得分:0)

您需要显示您的代码,但事实上这样做的方法是使用requests模块,如下所示:

import requests

url = 'http://www.example.com/api/v1/something'
r = requests.get(url)
data = r.json() # converts the returned json into a Python dictionary

for item in data['answer']:
    print(item['widgets']) 

答案 1 :(得分:0)

假设您没有使用requests库(请参阅Burhan的回答),您可以使用json模块,如下所示:

data = '{"answer":
           [{"widgets":16,
             "widgets_available":16,
             "widgets_missing":7,
             "widget_flatprice":"156",
             "widget_averages":15,
             "widget_cost":125,
             "widget_profit":"31",
             "widget":"90.59"}],
         "result":true}'

import json

data = json.loads(data)

# Now you can use it as you wish
data['answer'] # and so on...

答案 2 :(得分:0)

首先我要提到要访问字典值,您需要使用[&#34; key&#34;]而不是{}。在这里看到Python dictionary语法。

以下是有关如何构建和访问类似数据结构的分步演练:

首先创建主词典:

t1 = {"a":0, "b":1}

您可以通过以下方式访问每个元素:

t1["a"]  # it'll return a 0

现在让我们添加内部列表:

t1["a"] = ["x",7,3.14]

并使用以下方式访问它:

t1["a"][2]  # it'll return 3.14

现在创建内部字典:

t1["a"][2] = {'w1':7,'w2':8,'w3':9}

并访问:

t1["a"][2]['w3']  # it'll return 9

希望它对你有所帮助。