将curl响应读入变量/对象

时间:2018-05-09 08:39:36

标签: python json curl

我试图将json响应从curl post转换为json对象,这样我就可以获得json响应中的键/值对。

到目前为止,我的尝试看起来像这样:

<div class="form-check"><input name="tags" class="form-check-input" type="checkbox" value="" id="spelling"><label class="form-check-label" for="spelling" required="">Spelling</label></div>
<div class="form-check"><input name="tags" class="form-check-input" type="checkbox" value="" id="grammatica"><label class="form-check-label" for="grammatica">Grammatica</label></div>
<div class="form-check"><input name="tags" class="form-check-input" type="checkbox" value="" id="woordenschat"><label class="form-check-label" for="woordenschat">Woordenschat</label></div>
<div class="form-check"><input name="tags" class="form-check-input" type="checkbox" value="" id="begrijpend_lezen"><label class="form-check-label" for="begrijpend_lezen">Begrijpend Lezen</label></div>
<div class="form-check"><input name="tags" class="form-check-input" type="checkbox" value="" id="opdrachten"><label class="form-check-label" for="opdrachten">Opdrachten</label></div>

这会将json抽出到终端屏幕,但到目前为止,任何尝试都会得到&#34; get&#34; curl命令返回的实际json失败。理想情况下,我不想先将json repsonse写入文件,而且我也不确定我是否能够&#34;听&#34;到stdin - 一旦我做对了,它可能会转换成AWS lambda脚本......

我省略了实际代码中的一些功能 - 比如编码等。

1 个答案:

答案 0 :(得分:1)

您必须创建一个缓冲区并配置Curl实例以写入它。然后你可以阅读它并反序列化它。

import io

buffer = io.BytesIO()
# ... Initialize your Curl() instance as you did
c.setopt(c.WRITEDATA, buffer)
c.perform()

data = json.loads(buffer.getvalue())