我有一個準備好的地圖結構作為字串文字。注意,它不是 JSON!(查看塊的最后一個元素中的逗號)
dict := `{
"ru": {
"test_key": "Тестовый ключ",
"some_err": "Произошла ошибка",
},
"en": {
"test_key": "Test key",
"some_err": "Error occurs",
},
}`
我想將此字串轉換為地圖型別的實際值(map[string]map[string]string)。我需要它進行測驗。是否可以?
uj5u.com熱心網友回復:
如果這只是為了測驗,我會從源字串中洗掉“不需要的”逗號并使用 JSON 解組。
要洗掉不需要的逗號:我會使用 regexp ,\s*},并將其替換為單個}.
例如:
dict = regexp.MustCompile(`,\s*}`).ReplaceAllLiteralString(dict, "}")
var m map[string]map[string]string
if err := json.Unmarshal([]byte(dict), &m); err != nil {
panic(err)
}
fmt.Println(m)
輸出(在Go Playground上試試):
map[en:map[some_err:Error occurs test_key:Test key] ru:map[some_err:Произошла ошибка test_key:Тестовый ключ]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/426021.html
下一篇:水平翻轉類似矩陣的字串
