default

Permite especificar um fallback caso um valor não exista. default mostrará seu valor se o lado esquerdo for falsy ou vazio (string ou Array). Neste exemplo, product_price não está definido, então o valor padrão é usado.
{{ product_price | default: 2.99 }}
2.99
Neste exemplo, product_price está definido, então o valor padrão não é usado.
{% assign product_price = 4.99 %}
{{ product_price | default: 2.99 }}
4.99
Neste exemplo, product_price está vazio, então o valor padrão é usado.
{% assign product_price = "" %}
{{ product_price | default: 2.99 }}
2.99

Permitindo false

Para permitir que variáveis retornem false em vez do valor padrão, você pode usar o parâmetro allow_false.
{% assign display_price = false %}
{{ display_price | default: true, allow_false: true }}
false

json

Converte valores para string via JSON.stringify(), para propósito de debug.
{% assign arr = "foo bar coo" | split: " " %}
{{ arr | json }}
["foo","bar","coo"]

parse_json

Converte o valor de uma string para um objeto JSON válido. Caso o valor não seja um JSON válido, o valor retornado será nil.
{% assign obj = '{"foo": "bar"}' | parse_json %}
{% assign arr = '["Hi", "there"]' | parse_json %}
{% assign invalid = '{"foo" = "bar"}' | parse_json %}
{{ obj.foo }}
{{ arr[1]}}
{{ invalid }}
bar
there

Space

Um parâmetro space adicional pode ser especificado para formatar o JSON.
{% assign arr = "foo bar coo" | split: " " %}
{{ arr | json: 4 }}
[
    "foo",
    "bar",
    "coo"
]

jsonify

Veja json.

inspect

Similar ao json, mas inspect permite estrutura cíclica. Para o escopo abaixo:
const foo = {
    bar: 'BAR'
}
foo.foo = foo
const scope = { foo }
{% foo | inspect %}
{"bar":"BAR","foo":"[Circular]"}

Formatação

Um argumento space adicional pode ser especificado para a largura da indentação.
{{ foo | inspect: 4 }}
{
    "bar": "BAR",
    "foo": "[Circular]"
}

to_integer

Converte valores para número.
{{ "123" | to_integer | json }}
123