如何使zajson文件存储在chatPier中?

2024-06-17 12:33:11 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的Chatfuel块中,我收集一个{userinput}},并在zapierwebhook中发布一个JSON。到现在为止,一直都还不错。之后,我的本地Pyhon成功地从Zapier存储读取了这个JSON

url = 'https://store.zapier.com/api/records?secret=password'
response = urllib.request.urlopen(url).read().decode('utf-8')
data = json.loads(response)

并分析它生成另一个JSON作为输出:

^{pr2}$

然后Python3在Zapier的GET webhook中发布这个JSON:

import requests
r = requests.post('https://hooks.zapier.com/hooks/catch/2843360/8sx1xl/', json=json0)
r.status_code

enter image description here

enter image description here

Zapier Webhook成功获取JSON并将其发送到存储。在

enter image description here

enter image description here

设置键值对,Chatfuel尝试从存储器中读取:

GET https://store.zapier.com/api/records?secret=password2

但是得到的JSON结构是错误的,下面的代码验证了:

url = 'https://store.zapier.com/api/records?secret=password2'
response = urllib.request.urlopen(url).read().decode('utf-8')
data = json.loads(response)
data

返回:

{'messages': "text: Didn't know I could order several items"}

Chatfuel的正确工作时间应该是:

{'messages': [{"text: Didn't know I could order several items"}]}

也就是说,存在两个主要问题:

1)JSON中缺少“{[”

2)JSON是在现有的基础上追加新的信息,而不是生成一个全新的JSON,这导致JSON有5个不同的部分。在

我正在为这个问题寻找可能的解决办法。在


Tags: storehttpscomapijsonurldatasecret
1条回答
网友
1楼 · 发布于 2024-06-17 12:33:11

大卫,这里是扎皮尔平台小组的。在

首先,你的钥匙不需要引号,我们会帮你处理的。当前,您的json将如下所示:

{ "'messages'": { "'text'": "<DATA FROM STEP 1>" } }

所以第一个改变就是去掉那些。在

接下来,如果要存储数组,请改用Push Value Onto List操作。它接受一个顶级键并将值存储在名为list的对象中的键中。给定以下设置:

JSON中的结果结构是

^{pr2}$

似乎您希望存储一个额外的级别;一个json对象数组:

[ { "text": "this is text" } ]

这不是开箱即用的,因为所有列表项都存储为字符串。不过,您可以存储json字符串,并在需要像对象一样访问它们时将它们解析回对象!在

这能回答你的问题吗?在

相关问题 更多 >