commit 5a52cd5f920bb3d067ab1682adece9f813c67ba1
parent 4a366fcfee24b3a5a5045b16c3b87b76147adf5e
Author: Sean Prashad <S.Prashad@outlook.com>
Date: Sat, 20 Oct 2018 22:44:15 -0400
tpl: Update Jsonify to return pretty-print output
Fixes #5040
Diffstat:
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/docs/content/en/functions/jsonify.md b/docs/content/en/functions/jsonify.md
@@ -1,7 +1,7 @@
---
title: jsonify
linktitle: jsonify
-description: Encodes a given object to JSON.
+description: Encodes a given object to JSON, returning pretty printed output.
godocref:
date: 2017-02-01
publishdate: 2017-02-01
diff --git a/tpl/encoding/encoding.go b/tpl/encoding/encoding.go
@@ -50,9 +50,9 @@ func (ns *Namespace) Base64Encode(content interface{}) (string, error) {
return base64.StdEncoding.EncodeToString([]byte(conv)), nil
}
-// Jsonify encodes a given object to JSON.
+// Jsonify encodes a given object to JSON, returning pretty printed output.
func (ns *Namespace) Jsonify(v interface{}) (template.HTML, error) {
- b, err := json.Marshal(v)
+ b, err := json.MarshalIndent(v, "", " ")
if err != nil {
return "", err
}
diff --git a/tpl/encoding/encoding_test.go b/tpl/encoding/encoding_test.go
@@ -88,7 +88,7 @@ func TestJsonify(t *testing.T) {
v interface{}
expect interface{}
}{
- {[]string{"a", "b"}, template.HTML(`["a","b"]`)},
+ {[]string{"a", "b"}, template.HTML("[\n \"a\",\n \"b\"\n]")},
{tstNoStringer{}, template.HTML("{}")},
{nil, template.HTML("null")},
// errors
diff --git a/tpl/encoding/init.go b/tpl/encoding/init.go
@@ -47,7 +47,7 @@ func init() {
ns.AddMethodMapping(ctx.Jsonify,
[]string{"jsonify"},
[][2]string{
- {`{{ (slice "A" "B" "C") | jsonify }}`, `["A","B","C"]`},
+ {`{{ (slice "A" "B" "C") | jsonify }}`, "[\n \"A\",\n \"B\",\n \"C\"\n]"},
},
)