Как конвертировать строку JSON, которая содержит кодированный Unicode - PullRequest
3 голосов
/ 18 сентября 2011

Может кто-нибудь сказать мне, как преобразовать следующую строку объекта json, которая содержит закодированные символы Юникода (в данном случае китайский) в удобочитаемый для человека, используя c # в asp.net?

records:[{"description":"\u849c\u8089","id":282}]

Строка отправляется через Ajax из веб-приложения Ext JS.

Любая помощь очень ценится.

Ответы [ 2 ]

5 голосов
/ 18 сентября 2011

Нет необходимости конвертировать эту строку каким-либо особым образом. Любой JSON-декодер, который более или менее придерживается спецификации, автоматически создаст правильную строку для атрибута description .

Обновление:

Однако ваш текущий образец не является допустимым JSON. В нем отсутствуют скобки или скобки вокруг всего образца, а в двойных кавычках - records .

.

Правильный фрагмент JSON будет:

{"records":[{"description":"\u849c\u8089","id":282}]}

Предоставление:

  • записей:
    • []
      • описание: 蒜 肉
      • id: 282
0 голосов
/ 18 сентября 2011

Я предполагаю, что это должно быть сделано следующим образом:

var  bytes  =  Encoding.Unicode.GetBytes("<unicode string>"); 
//  Return  the  Base64-encoded  string.  
string  str  =    Convert.ToBase64String(b);  
...