我正在尝试将此嵌套映射编组为 JSON 字符串。
map[
description:Foo Bar
url:http://foobar.co.uk
theme_color:#1b1b1b
markdown:kramdown
sass:map[
style:compressed
]
collections:map[
projects:map[
output:true
permalink:/project/:path
]
jobs:map[
output:true
permalink:/job/:path
]
]
title:Foo Bar
email:foo@foobarco.uk
]
(清理输出fmt.Printf("%v", m))
最初读取并解析配置文件以生成映射,因此我事先不知道这些字段,这意味着我不能(?)使用结构。
从 YAML 解组到这张地图map[string]interface{}工作正常,但是当我将此地图传递给 时json.Marshal,出现以下错误。
json: unsupported type: map[interface {}]interface{}
通过阅读,我可以看到抛出此错误是因为 JSON 仅支持字符串键。让我感到困惑的是,上面的地图似乎没有任何非字符串键。
如果我删除嵌套sass和collections键,它可以毫无问题地进行编组。
是否可以在地图上进行一些完整性检查以确认所有键都是真实的string,而不仅仅是interface{}看起来像字符串?
慕容708150
POPMUISE
相关分类