用Python在JSON数组中搜索

2024-10-05 10:03:44 发布

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

我目前正在开发一个用于买卖物品的聊天机器人,我需要这个项目作为我的简历。期待得到一些帮助

我有一个JSON文件,其中包括模式和响应:

{"intents": [
    {"tag": "greetings",
    "patterns": ["hallo"],
    "responses": ["Hallo!", "Guten Tag!"]
    }
]
}

到目前为止,我的Python脚本如下所示:

import json
import random

with open('Python\intents.json') as file:
    data = json.load(file)

我想要的是:

如果我给出一个输入,它应该在所有标签中搜索(我想稍后扩展意向数据),如果在其中一个标签的模式中找到输入,它应该随机打印一行响应。例如,如果输入是“hallo”,这是一个问候语,脚本应该知道它是一个问候语,如果在标记中找到它,它应该打印它的响应。在这种情况下,“你好”或“Guten Tag”

这个方法是有效的,但正如我提到的,我希望脚本知道它是什么类型的输入,无论是问候语、问题等

for i in data['intents']:
    if i['tag'] == 'greetings':
        if inp in i['patterns']:
            print(i['responses'][0])
        break

提前谢谢


Tags: import脚本jsondatatag模式responsespatterns

热门问题