【发布时间】:2022-06-17 03:34:27
【问题描述】:
由于某种原因,我无法访问 JSON 元字段中的数组。我尝试了其他 StackOverflow 答案,并且我正在使用值等,但无法弄清楚,这是我的元字段:
product.metafields.artist.releases
值为:
{
"releases": [
{
"id": 0,
"releaseName": "lofi 1",
"coverArt": "",
"releaseLink": “”
},
{
"id": 1,
"releaseName": " lofi 2",
"coverArt": "",
"releaseLink": “”
}
]}
(格式为:"{\"releases\":[{\"id\":0,\"releaseName\":\"lofi 1\",\"coverArt\":\"\",\"releaseLink\":“”},{\"id\":1,\"releaseName\":\"lofi 2\",\"coverArt\":\"google.com\",\"releaseLink\":“”}]}")
我在 product.custom.liquid 中使用它:
{{ product.metafields.artist.releases.value }}
{% assign releases = product.metafields.artist.releases.value %}
{% for release in releases.releases %}
{{ release.releaseName }}
{% endfor %}
第一个显示得很好,如果我分配它并执行{{ releases }} 它也显示得很好,所以我知道分配正在工作,但我不能 forloop 遍历它(请注意,第一个对象在JSON 也称为发布(我也尝试将其全部重命名为唯一名称以防万一,但没有帮助))
【问题讨论】:
-
奇怪...我的测试商店中有一个嵌套非常深的 JSON 元字段,我可以毫无问题地进行深度循环... ????
-
嗯。非常奇怪 - 我的旧元字段从 json_string 第一次成为一个东西时就完全按预期工作,但是当我制作一个新元字段来测试它时,我无法让它工作。稍后将不得不对此进行更深入的研究,但看起来 Shopify 可能以某种方式改变了一些东西,从而降低了新元字段的效率