udf或inbuild函数将嵌套结构的结构转换为查询

问题描述

我是否有任何将函数的结构转换为冷融合查询的内置函数,我用谷歌搜索了,但我只能找到arrayofstructs,但是我正在使用一个api,它向我返回结构的结构和我想不通一种解决方法,试图使用structkeylist,但看起来structkeylist不喜欢嵌套键结构,并且会在那里中断。

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

赞赏

解决方法

这里是如何从包含结构的结构中访问值的示例。第一部分只是构建与您的结构相似的结构。

<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上将其保存为要点,但对我而言却不保存。您可以在其中复制并粘贴该代码并运行它。然后试一试。

输出看起来像这样:

enter image description here

希望这足以让您入门。