python - 在 Python 中动态构建 json
问题描述
我正在尝试在 Python 中构建 JSON。我想把它发给 Slack。
xxdata = []
xxdata.append("Option A")
xxdata.append("Option B")
data=[]
for xx in xxdata:
item = {"text": {
"type": "plain_text",
"text": xx,
"emoji": True
}}
data.append(dict(item))
jsonData=json.dumps(data)
这就是我将它发送到松弛的方式:
{
"type": "section",
"block_id": "Settings1",
"text": {
"type": "mrkdwn",
"text": ":gear: *MAIN*\nSelect your main group"
},
"accessory": {
"type": "static_select",
"placeholder": {
"type": "plain_text",
"text": "Option A",
"emoji": True
},
"options": jsonData,
"action_id": "NotificationSelect"
}
但是,当它被发送到 Slack - 我在选项数据之前和之后得到额外的引号:
{
"type": "section",
"block_id": "Settings1",
"text":
{
"type": "mrkdwn",
"text": ":gear: *MAIN*\nSelect your main group"},
"accessory": {
"type": "static_select",
"placeholder": {
"type": "plain_text",
"text": "Option A",
"emoji": true},
"options": "[
{
"text":
{"type": "plain_text",
"text": "Option A",
"emoji": true}
},
{"text":
{"type": "plain_text",
"text": "Option B",
"emoji": true}
}
]",
"action_id": "NotificationSelect"}},
这导致 Slack 失败。我究竟做错了什么?如果我删除这些引号,一切正常。
解决方案
jsonData=json.dumps(data)
正在从您的列表中创建一个字符串。data
直接使用而不是,jsonData
你应该没问题。
推荐阅读
- android - Firebase Unity Android:在您的项目中找不到 google-services.json 文件
- html - XSS 攻击,多个 html 清理
- xaml - 单击运行按钮时如何将xaml作为窗口打开
- django - 模板中的 Django 列表在嵌套 for 循环中没有尾随逗号
- python-3.x - Discord 接收音频
- python - 在张量流中从优化器向后获取依赖项列表
- html - node.js 强大的 express.js
- python-3.x - 如何检测带有特定字母的单词并将它们返回到包含它们的列表中
- google-apps-script - 将数据从 Google 表格写入 Redshift
- python - Python epoch - 日期时间转换错误?