Если JSON используется для обмена данными, он должен использовать кодировку UTF-8 (см. RFC8259 ). Кодировки UTF-16 и UTF-32 больше не допускаются. Так что нет необходимости избегать дипломного персонажа. И я настоятельно рекомендую не убегать без необходимости.
Правильно и рекомендовано
{
"units": "°C"
}
Конечно, вы должны применить правильную кодировку UTF-8.
Если JSON используется в закрытой экосистеме, вы можете использовать другие текстовые кодировки (хотя я рекомендовал бы против этого, если у вас нет очень веских причин). Если вам нужно экранировать символ степени в кодировке, отличной от UTF-8, правильная последовательность экранирования - \u00b0
.
Возможно, но не рекомендуется
{
"units": "\u00b0C"
}
Ваш второй подход неверен при любых обстоятельствах.
Некорректное
{
"units":"c2b0"
}
Также неправильно использовать что-то вроде "\ xc2 \ xb0". Это экранирование, используемое в исходном коде C / C ++. Он также используется отладчиком для отображения строк. В JSON это всегда неверно.
Неверно также
{
"units":"\xc2\xb0"
}