如何在 json_string 类型的 Shopify 中访问密钥名称?
How to access key name in json_string type of Shopify?
例如,我在 product_supplier['shipping_to']
中有这个 JSON 字符串:
{"United States": {"time": "1-3"}, "Worldwide": {"time": "10-15"}}
如何访问 liquid 中的国家/地区名称?试过这个:
{% for country, time in product_supplier['shipping_to'] %}
{{ country }}: {{ time['time'] }}
{% endfor %}
这显然不起作用,因为它给出了错误:Liquid syntax error: Syntax Error in 'for loop' - Valid syntax: for [item] in [collection]
并尝试了这个:
{% for country in product_supplier['shipping_to'] %}
{{ country[0] }}, {{ country[1] }}
{% endfor %}
只给出一个逗号的空输出:
,
从官方文档here看来,它似乎只能访问值而不是键?
如果您将元字段保存为 json_string 那么您可以这样做。
{% for item in product.metafields.product_supplier.shipping_to %}
{{item[0]}}<br/>
{% endfor %}
响应将是:
United States
Worldwide
再次强调,这必须是 json 字符串才能工作。
因此它类似于您的第三个示例,但我们使用正确的对象(在本例中为 product.metafields
)来定位该元字段。
在我这边测试它没有问题。
例如,我在 product_supplier['shipping_to']
中有这个 JSON 字符串:
{"United States": {"time": "1-3"}, "Worldwide": {"time": "10-15"}}
如何访问 liquid 中的国家/地区名称?试过这个:
{% for country, time in product_supplier['shipping_to'] %}
{{ country }}: {{ time['time'] }}
{% endfor %}
这显然不起作用,因为它给出了错误:Liquid syntax error: Syntax Error in 'for loop' - Valid syntax: for [item] in [collection]
并尝试了这个:
{% for country in product_supplier['shipping_to'] %}
{{ country[0] }}, {{ country[1] }}
{% endfor %}
只给出一个逗号的空输出:
,
从官方文档here看来,它似乎只能访问值而不是键?
如果您将元字段保存为 json_string 那么您可以这样做。
{% for item in product.metafields.product_supplier.shipping_to %}
{{item[0]}}<br/>
{% endfor %}
响应将是:
United States
Worldwide
再次强调,这必须是 json 字符串才能工作。
因此它类似于您的第三个示例,但我们使用正确的对象(在本例中为 product.metafields
)来定位该元字段。
在我这边测试它没有问题。