ref: 2efc1a64c391420b1007f6e94b6ff616fb136635
parent: 25ddbb09fea7794edbbafa2ffce4e361cdc9bacf
author: Bjørn Erik Pedersen <[email protected]>
date: Sun Dec 23 14:43:17 EST 2018
docs: Document transform.Unmarshal Fixes #5556
--- /dev/null
+++ b/docs/content/en/functions/transform.Unmarshal.md
@@ -1,0 +1,50 @@
+---
+title: "transform.Unmarshal"
+description: "`transform.Unmarshal` (alias `unmarshal`) parses the input and converts it into a map or an array. Supported formats are JSON, TOML, YAML and CSV."
+date: 2018-12-23
+categories: [functions]
+menu:
+ docs:
+ parent: "functions"
+keywords: []
+signature: ["RESOURCE or STRING | transform.Unmarshal [OPTIONS]" ]
+hugoversion: "0.53"
+aliases: []
+---
+
+
+The function accept either a `Resource` created in [Hugo Pipes](/hugo-pipes/) or via [Page Bundles](content-management/page-bundles/), or simply a string. The two examples below will produce the same map:
+
+```go-html-template
+{{ $greetings := "hello = \"Hello Hugo\"" | transform.Unmarshal }}`
+```
+
+```go-html-template
+{{ $greetings := "hello = \"Hello Hugo\"" | resources.FromString "data/greetings.toml" | transform.Unmarshal }}
+```
+
+In both the above examples, you get a map you can work with:
+
+```go-html-template
+{{ $greetings.hello }}
+```
+
+The above prints `Hello Hugo`.
+
+## CSV Options
+
+Unmarshal with CSV as input has some options you can set:
+
+comma
+: The delmiter used, default is `,`
+
+comment
+: The comment character ued in the CSV. If set, lines beginning with the comment character without preceding whitespace are ignored.:
+
+
+Example:
+
+```go-html-template
+{{ $csv := "a;b;c" | transform.Unmarshal (dict "comma" ";") }}
+```
+