You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Liquid映射无法访问名称含@的JSON实体问题求助

解决Liquid中无法访问带@符号的OData字段问题

在处理OData返回的Payload时,Liquid模板能正常映射普通字段,但遇到名称含@的字段(如@odata.etag、type@OData.Community.Display.V1.FormattedValue)时,用点语法访问会输出空值——这是因为这类含特殊字符的属性名无法通过点语法直接解析。

解决方法

对于包含@、特殊符号或复杂命名的属性,需要改用方括号+引号包裹属性名的方式访问,而非点语法。

修改后的Liquid模板

[
        {%- for i in body.value -%}
        {
        "etag": "{{i["@odata.etag"]}}", // 现在可正常访问
        "type": "{{i.type}}", // 普通字段仍用点语法即可
        "typename": "{{i["type@OData.Community.Display.V1.FormattedValue"]}}" // 现在可正常访问
        }
        {%- if forloop.last == false -%}
        ,
        {%- endif -%}
        {%- endfor -%}
]

测试输出

使用你提供的示例Payload,修改后的模板会输出:

[
        {
        "etag": "1",
        "type": "0001",
        "typename": "Normal"
        }
]

内容的提问来源于stack exchange,提问作者Saintti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 01:32:00