0
我試圖將此嵌套的地圖封送到JSON字符串中。將嵌套的地圖封裝爲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:[email protected]
]
(從fmt.Printf("%v", m)
盪滌輸出)
最初是一個配置文件被讀取並分析產生的地圖,所以我不知道事先的領域,這意味着我不能(?)使用一個結構。
從YAML解組到這個map[string]interface{}
的地圖工作正常,但是當我通過這個地圖到json.Marshal
,我得到以下錯誤。
json: unsupported type: map[interface {}]interface{}
從閱讀中可以看出,由於JSON僅支持字符串鍵,因此會引發此錯誤。令我困惑的是,上面的地圖似乎沒有任何非字符串鍵。
如果我刪除了嵌套的sass
和collections
鍵,它將在沒有任何問題的情況下編組。
是否可以在地圖上進行一些理智檢查,以確認所有鑰匙都是事實string
而不僅僅是interface{}
看起來像字符串?
呃,這不是一個有效的地圖... –
這不是文字,它的打印輸出的地圖創建後。 –