У меня есть карта для сохранения записей json. Вот предварительный просмотр моего кода.Как предотвратить экранирование определенных символов в строках, создаваемых кодером JSON?
mp := map[string]string{"key": "The Knight & Day"}
fmt.Println(mp)
bty3, err := json.Marshal(mp)
fmt.Println(bty3, err)
fmt.Println(string(bty3))
Выход following-
map[key:The Knight & Day]
[123 34 107 101 121 34 58 34 84 104 101 32 75 110 105 103 104 116 32 92 117 48 48 50 54 32 68 97 121 34 125] <nil>
{"key":"The Knight \u0026 Day"}
Что я могу сделать для того, чтобы сохранить специальные символы?
Это сохраняется, просто сбежал, чтобы избежать проблем с различными клиентами. Это справедливо для JSON. – JimB
Я пытаюсь получить из него значение hmac и отправить его по сети. Другая сторона выбрасывает исключение, которое hmac не соответствует телу. – theGamblerRises
Каждой стороне необходимо проверить hmac отправленные данные, а не некодированные данные, именно из-за изоморфных изменений, подобных этому, не говоря уже о возможных проблемах безопасности. Однако, если удаленная сторона не делает это правильно, вам просто нужно будет найти и заменить экранированные строки. – JimB