是否可以声明一个以 TStringList 数组为值的 TObjectDictionary?

Is it possible to declare a TObjectDictionary that has an array of TStringList as the value?

我有一项任务需要为包含以下结构的 JSON 文件创建专用编辑器:

{
    "intents": [
        {
            "tag": <string_name>,
            "patterns": [
                <string>,
                <string>,
                <string>...
            ],
            "responses": [
                <string>,
                <string>,
                <string>...
            ],
            <repeats arbitrarily]
        }
    ]
}

表单有一个下拉列表和两个 TMemo。这个想法是使用下拉菜单为每个 tag 编辑 patternsresponses。完成后,我保存回 JSON 文件。

我正在努力解决的问题是如何最好地将这些数据存储在内存中,以便轻松地从一个标签切换到另一个标签。我在想 TObjectDictionarytag 名称作为键,每个值作为 patternsresponses,但后来我意识到我必须实例化 x动态TObjectDictionary个数,每个tag一个。

是否可以使用一个包含 string 字段和两个 TStringList 对象的动态数组?我正在使用 TJsonTextReader 遍历 JSON 文件中的项目,效果很好。我只需要一些关于存储数据的最佳结构的想法。

您可以使用 record 并在其中放入您想要的任何内容。然后创建一个记录实例数组。或者将记录实例存储为您的字典值。等等