首页 > 解决方案 > 如何访问 json_string 类型的 Shopify 中的键名?

问题描述

例如,我有这个 JSON 字符串product_supplier['shipping_to']

{"United States": {"time": "1-3"}, "Worldwide": {"time": "10-15"}}

如何访问液体中的国家/地区名称?试过这个:

{% 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 %}

它只用逗号给出空输出:

,

这里的官方文档看来,它似乎只能访问值而不是键?

标签: shopifyliquid

解决方案


如果您将元字段保存为 json_string 那么您可以这样做。

{% for item in product.metafields.product_supplier.shipping_to %}
 {{item[0]}}<br/>
{% endfor %}

响应将是:

United States
Worldwide

再次,这必须是 json 字符串才能工作。

所以它类似于您的第三个示例,但我们使用正确的对象(在本例中product.metafields)来定位该元字段。

在我这边测试它没有问题。


推荐阅读