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

如何用Liquid从JSON中提取键值对并转换为指定格式?

解决Liquid转换JSON格式的问题

你的问题出在哈希对象的遍历方式和输出格式处理上,以下是修正方案:

错误原因

当你用{% for data in content %}遍历JSON对象时,Liquid会把每个键值对转为[键, 值]格式的数组,直接输出data[0]和data[1]会缺少引号与JSON结构包裹,导致结果不符合预期。

正确实现代码

使用Liquid的键值对遍历语法{% for key, value in content %},直接获取键和值,同时输出标准JSON结构:

{%- for key, value in content -%}
{
    "Key": "{{ key }}",
    "Value": "{{ value }}"
}{%- unless forloop.last -%},{%- endunless -%}
{%- endfor -%}

代码说明

  • {% for key, value in content %}:直接遍历content对象的键和值,无需通过数组下标获取
  • {{ key }}和{{ value }}:分别输出键名与对应值,用双引号包裹符合JSON字符串要求
  • {%- unless forloop.last -%},{%- endunless -%}:处理多键值对时的逗号分隔,避免最后一个对象后出现多余逗号

如果只需要转换第一个键值对,可在循环内添加{% break %}终止遍历:

{%- for key, value in content -%}
{
    "Key": "{{ key }}",
    "Value": "{{ value }}"
}
{% break %}
{%- endfor -%}

输出结果

针对你的输入JSON,上述代码会输出:

{
    "Key": "key1",
    "Value": "value1"
},
{
    "Key": "key2",
    "Value": "value2"
}

若添加{% break %}则仅输出第一个键值对的JSON对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 06:55:14