diff --git a/Helpers.md b/Helpers.md
index cbc20ef..0c107e4 100644
--- a/Helpers.md
+++ b/Helpers.md
@@ -219,4 +219,10 @@ Truthiness of arguments is determined by [Handlebars.Utils.isEmpty(Object)](http
```handlebars
{{#if (not (if a '===' b)) }} a does not equal b {{/if}}
{{#not (if a '===' b) }} a does not equal b {{/not}}
+```
+
+### [JsonParser](light-development/src/main/java/com/merkle/oss/magnolia/renderer/handlebars/helpers/JsonParseHelper.java)
+Can be used to pass parsed json to other helpers. Arrays,objects and primitives are supported.
+```handlebars
+{{pattern name='somePattern' someJsonObjectProperty=(parse-json '{"key": "value"}')}}
```
\ No newline at end of file
diff --git a/light-development/pom.xml b/light-development/pom.xml
index d4f5e06..b60d8e0 100644
--- a/light-development/pom.xml
+++ b/light-development/pom.xml
@@ -37,6 +37,10 @@
com.google.auto.factory
auto-factory
+
+ com.google.code.gson
+ gson
+
diff --git a/light-development/src/main/java/com/merkle/oss/magnolia/renderer/handlebars/helpers/JsonParseHelper.java b/light-development/src/main/java/com/merkle/oss/magnolia/renderer/handlebars/helpers/JsonParseHelper.java
new file mode 100644
index 0000000..8689c2c
--- /dev/null
+++ b/light-development/src/main/java/com/merkle/oss/magnolia/renderer/handlebars/helpers/JsonParseHelper.java
@@ -0,0 +1,35 @@
+package com.merkle.oss.magnolia.renderer.handlebars.helpers;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import com.github.jknack.handlebars.Options;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonParser;
+
+public class JsonParseHelper implements NamedHelper {
+ private final Gson gson = new GsonBuilder().create();
+
+ public Object apply(final String json, final Options options) throws IOException {
+ final JsonElement jsonElement = JsonParser.parseString(json);
+ if(jsonElement.isJsonArray()) {
+ return gson.fromJson(jsonElement.getAsJsonArray(), List.class);
+ }
+ if(jsonElement.isJsonObject()) {
+ return gson.fromJson(jsonElement.getAsJsonObject(), Map.class);
+ }
+ if(jsonElement.isJsonPrimitive()) {
+ return json;
+ }
+ return null;
+ }
+
+ @Override
+ public Set names() {
+ return Set.of("parse-json");
+ }
+}