Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/parser
diff options
context:
space:
mode:
authorVas Sudanagunta <vas@commonkarma.org>2018-02-02 09:35:26 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-02-02 11:14:37 +0300
commit4402c077754991df19c3bbab0c4a671dcfdc192c (patch)
treed4b9363344abf887af6cf222d7e6205abb8f3fe9 /parser
parent4743de0d3c7564fc06972074e903d5502d204353 (diff)
Fix JSON array-based data file handling regression
This bug was introduced in Hugo 0.35. Fixes #4361
Diffstat (limited to 'parser')
-rw-r--r--parser/frontmatter.go18
1 files changed, 17 insertions, 1 deletions
diff --git a/parser/frontmatter.go b/parser/frontmatter.go
index 7560a734a..e9552a859 100644
--- a/parser/frontmatter.go
+++ b/parser/frontmatter.go
@@ -207,6 +207,22 @@ func HandleYAMLMetaData(datum []byte) (map[string]interface{}, error) {
// HandleJSONMetaData unmarshals JSON-encoded datum and returns a Go interface
// representing the encoded data structure.
func HandleJSONMetaData(datum []byte) (map[string]interface{}, error) {
+ m := make(map[string]interface{})
+
+ if datum == nil {
+ // Package json returns on error on nil input.
+ // Return an empty map to be consistent with our other supported
+ // formats.
+ return m, nil
+ }
+
+ err := json.Unmarshal(datum, &m)
+ return m, err
+}
+
+// HandleJSONData unmarshals JSON-encoded datum and returns a Go interface
+// representing the encoded data structure.
+func HandleJSONData(datum []byte) (interface{}, error) {
if datum == nil {
// Package json returns on error on nil input.
// Return an empty map to be consistent with our other supported
@@ -214,7 +230,7 @@ func HandleJSONMetaData(datum []byte) (map[string]interface{}, error) {
return make(map[string]interface{}), nil
}
- var f map[string]interface{}
+ var f interface{}
err := json.Unmarshal(datum, &f)
return f, err
}