我有一个准备好的地图结构作为字符串文字。注意,它不是 JSON!(查看块的最后一个元素中的逗号)dict := `{ "ru": { "test_key": "Тестовый ключ", "some_err": "Произошла ошибка", }, "en": { "test_key": "Test key", "some_err": "Error occurs", },}`我想将此字符串转换为地图类型的实际值(map[string]map[string]string)。我需要它进行测试。可能吗?
1 回答
智慧大石
TA贡献1946条经验 获得超3个赞
如果这只是为了测试,我会从源字符串中删除“不需要的”逗号并使用 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:Тестовый ключ]]
- 1 回答
- 0 关注
- 92 浏览
添加回答
举报
0/150
提交
取消