parser/metadecoders: Add empty /data JSON file as empty map

When fetching JSON files from the /data folder that are empty they will
be added as empty map[string]any. This makes sure that no empty JSON
file causes the site to crash because of a failed unmarshal. This
happens because empty is not a valid JSON string. It is therefore
important to check the lenght of the data before passing it to the JSON
unmarshal function.

Fixes #8601
This commit is contained in:
AcClassic 2022-12-12 18:12:46 +01:00 committed by Bjørn Erik Pedersen
parent ad2059878a
commit e30d711c29
2 changed files with 2 additions and 1 deletions

View file

@ -112,7 +112,7 @@ func (d Decoder) UnmarshalStringTo(data string, typ any) (any, error) {
// Unmarshal will unmarshall data in format f into an interface{}.
// This is what's needed for Hugo's /data handling.
func (d Decoder) Unmarshal(data []byte, f Format) (any, error) {
if data == nil {
if data == nil || len(data) == 0 {
switch f {
case CSV:
return make([][]string, 0), nil