parse_json

Parses a JSON string into a Liquid object. Useful when working with API responses, stored data, or metafield values that are JSON-encoded strings.

{% assign data = '{"name": "John", "age": 30}' | parse_json %}
{% log data.name %}

Output:

John

Syntax

{{ json_string | parse_json }}
Parameter
Description

json_string

A valid JSON string to parse

Return Value

Returns a Liquid object (hash, array, string, number, or boolean) depending on the JSON content.

Examples

Parse a JSON string:

{% assign product_data = '{"title": "T-Shirt", "price": 29.99}' | parse_json %}
{% log product_data.title %}
{% log product_data.price %}

Parse a metafield value:

{% assign config = product.metafields.custom.settings.value | parse_json %}
{% log config.color %}

Parse an API response body:

Parse stored JSON from file storage:

Parse a JSON array:

Notes

  • Throws an error if the input is not valid JSON

  • For building JSON objects, use the {% json %} tag instead

  • See also: parse_csv, parse_xml

Last updated