I expect copyofhey to be it's own variable with it's memory space... but using the remove_hash_key filter it just removes from all everything ... I expect copyofhey not to be touched when:
{%- parse_json hey -%}
{"test": "hello", "test2": "goodbye"}
{%- endparse_json -%}
{%- assign copyofhey = hey -%}
{%- assign nothingofinterest = hey | remove_hash_key: "test2" -%}
{{copyofhey}}
{{hey}}
Yet the output is:
{"test":"hello"}
{"test":"hello"}