docs: Document transform.Unmarshal

Fixes #5556
This commit is contained in:
Bjørn Erik Pedersen 2018-12-23 19:43:17 +01:00
parent 25ddbb09fe
commit 2efc1a64c3
No known key found for this signature in database
GPG key ID: 330E6E2BD4859D8F

View file

@ -0,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" ";") }}
```