首页 > 解决方案 > 用于将嵌套结构转换为查询的 udf 或 inbuild 函数

问题描述

是否有任何内置函数用于将结构结构转换为冷融合查询,我用谷歌搜索,我只能找到arrayofstructs,但我正在使用一个返回我结构结构的 api,我想不出办法处理我正在尝试使用structkeylist,但看起来structkeylist不喜欢嵌套键结构并且它在那里中断

i 中的任何 udf 或内置功能lucee都可以用来修复它

赞赏

标签: structcoldfusionlucee

解决方案


以下是如何从包含结构的结构中访问值的示例。第一部分只是建立一个类似于你的结构。

<cfscript>
    struct = {};
    struct1 = {};
    struct10 = {};

    struct1.id = '1';
    struct1.name = 'test';
    struct1.uid = '1234567890';

    struct.1 = struct1;

    struct10.id = '2';
    struct10.name = 'test2';
    struct10.uid = '0987654321';

    struct.10 = struct10;
    
    writeDump(struct);
    writeOutput('<hr>');
    
    for (key in struct) {
        writeOutput('Struct #key# id = ' & struct[key].id & '<br>');
        writeOutput('Struct #key# name = ' & struct[key].name & '<br>');
        writeOutput('Struct #key# uid = ' & struct[key].uid & '<br>');
        writeOutput('<hr>');
    }

    // another way to access the structure values
    writeOutput('Struct 1 id = ' & struct.1.id & '<br>');
    writeOutput('Struct 1 name = ' & struct.1.name & '<br>');
    writeOutput('Struct 1 uid = ' & struct.1.uid & '<br>');
</cfscript>

我试图在TryCF.com 上将其保存为您的要点,但它不会为我保存。您可以在其中复制并粘贴该代码并运行它。然后玩弄它。

输出如下所示:

在此处输入图像描述

希望这足以让你开始。


推荐阅读