前后端json序列化反序列化反斜杠无法正常传递
Posted 尚墨1111
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前后端json序列化反序列化反斜杠无法正常传递相关的知识,希望对你有一定的参考价值。
斜杠无法传递
问题:
我希望传递给前端以下数据,同时反斜杠\\
保留不被转义
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",实现需求
以上是关于前后端json序列化反序列化反斜杠无法正常传递的主要内容,如果未能解决你的问题,请参考以下文章