shopify - 如何访问 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 %}
它只用逗号给出空输出:
,
从这里的官方文档看来,它似乎只能访问值而不是键?
解决方案
如果您将元字段保存为 json_string 那么您可以这样做。
{% for item in product.metafields.product_supplier.shipping_to %}
{{item[0]}}<br/>
{% endfor %}
响应将是:
United States
Worldwide
再次,这必须是 json 字符串才能工作。
所以它类似于您的第三个示例,但我们使用正确的对象(在本例中product.metafields
)来定位该元字段。
在我这边测试它没有问题。
推荐阅读
- deep-learning - 在 Pytorch 中微调预训练模型 MobileNet_V2
- android - 如何将多个字符串资源分配给单个文本视图?
- c# - 在日期时间选择器上启用过去几天
- c# - 如何将字符串值从一个 Application Db 上下文放到另一个?
- c# - CS4010 如何将异步 lambda 表达式转换为委托类型“TaskAction”
- openedge - 在整个索引上使用括号有什么区别?
- java - 限制 Mysql 用户从工作台登录,应仅从应用程序连接到 MYSQL
- python - 弹出后的Robotframework android屏幕检测
- sql - 我如何将 postgres 查询转换为查询生成器格式 codeigniter?
- jmeter - HTTPS 响应的一部分在每个会话中都会发生变化