问题:
我希望传递给前端以下数据,同时反斜杠\
保留不被转义
test.map={"ab\-Test": "value"}
操作:
// jsonString := {"ab\-Test": "value"}
var configMap map[string]string
err := json.Unmarshal([]byte(jsonString), &configMap)
if err != nil {
return nil
}
fmt.Printf(configMap)
输出:{"ab-Test": "value"},转义符消失了
换成`jsonString := {"ab\\-Test": "value"}`,报错字符串中有 - 非法字符
换成`jsonString := {"ab\\\-Test": "value"}`,输出:{"ab-Test": "value"},转义符消失了
分析:
umarshal的时候会转义一次抵消了两个\\
,所以没有了,
解决:四个转义字符
// jsonString := {"ab\\\\-Test": "value"}
输出:{"ab\-Test": "value"},实现需求