"fmt"
        "github.com/spf13/hugo/helpers"
        "github.com/spf13/hugo/parser"
+       "reflect"
 
        "github.com/spf13/cast"
        "github.com/spf13/hugo/hugofs"
                return cast.ToTime(v)
        case []string:
                return helpers.SliceToLower(v.([]string))
-       case map[interface{}]interface{}:
+       case map[string]interface{}: // JSON and TOML
+               return v
+       case map[interface{}]interface{}: // YAML
                return v
        }
+
+       jww.ERROR.Printf("GetParam(\"%s\"): Unknown type %s\n", key, reflect.TypeOf(v))
        return nil
 }
 
 
 import (
        "html/template"
        "path/filepath"
+       "reflect"
        "strings"
        "testing"
        "time"
 
+       "github.com/spf13/cast"
        "github.com/spf13/hugo/helpers"
 )
 
 a_float = 1.3
 a_bool = false
 a_date = 1979-05-27T07:32:00Z
+
+[a_table]
+a_key = "a_value"
 +++
 Front Matter with various frontmatter types`
 
        if page.GetParam("a_date") != dateval {
                t.Errorf("frontmatter not handling dates correctly should be %s, got: %s", dateval, page.GetParam("a_date"))
        }
+       param := page.GetParam("a_table")
+       if param == nil {
+               t.Errorf("frontmatter not handling tables correctly should be type of %v, got: type of %v", reflect.TypeOf(page.Params["a_table"]), reflect.TypeOf(param))
+       }
+       if cast.ToStringMap(param)["a_key"] != "a_value" {
+               t.Errorf("frontmatter not handling values inside a table correctly should be %s, got: %s", "a_value", cast.ToStringMap(page.Params["a_table"])["a_key"])
+       }
 }
 
 func TestDegenerateInvalidFrontMatterLeadingWhitespace(t *testing.T) {