0

I am trying to create a JSON object using a liquid template, but the fields array in my output is not properly formatted. For example, my input is:

{
    "queryString": "id:00000000-0000-0000-0000-000000000000",
    "fields": [
        "linkFilename",
        "documenttype",
        "description",
        "webUrl"
    ]
}

And my desired output is:

{
    "requests": [
        {
            "entityTypes": [
                "listItem"
            ],
            "query": {
                "queryString": "id:00000000-0000-0000-0000-000000000000"
            },
            "region": "EMEA",
            "fields": [
                "linkFilename",
                "documenttype",
                "description",
                "webUrl"
            ]
        }
    ]
}

But my current liquid template:

{% capture output %}
{
    "requests": [
        {
            "entityTypes": ["listItem"], 
            "query": { 
                "queryString": "{{ queryString }}" 
            }, 
            "region": "EMEA", 
            "fields": ["{{ fields }}"]
        }
    ]
}
{% endcapture %}
{{ output }}

results in:

{
    "requests": [
        {
            "entityTypes": [
                "listItem"
            ],
            "query": {
                "queryString": "id:00000000-0000-0000-0000-000000000000"
            },
            "region": "EMEA",
            "fields": [
                "linkFilenamedocumenttypedescriptionwebUrl"
            ]
        }
    ]
}

How can I separate the elements in the fields array with a comma in the liquid template?"

cb0008
  • 93
  • 1
  • 8

1 Answers1

1
{% capture fieldList %}
    {% for i in input.fields %}
        "{{ i }}"
        {% if forloop.last != true %},{% endif %}
    {% endfor %}
{% endcapture %}
{% capture output %}
{
    "requests": [
        {
            "entityTypes": [
                "listItem"
            ],
            "query": {
                "queryString": "{{ input.queryString }}"
            },
            "region": "EMEA",
            "fields": [
                {{ fieldList }}
            ]
        }
    ]
}
{% endcapture %}
{{ output }}
cb0008
  • 93
  • 1
  • 8