如何将字符串编码为Json字符串文本?

时间:2015-12-31 14:02:06

标签: c# json encoding json.net jsonserializer

当我尝试在C#中将SQL表内容检索为JSON格式时,例如:内容Baden-Württemberg在JSON serilize之后被重新作为“Baden-W \ u00FCrttemberg”。我试试这个

byte[] bytes = Encoding.UTF8.GetBytes(input);
input = Encoding.UTF8.GetString(bytes);
var output = JsonConvert.SerializeObject(input);

但是我得到了“Baden-Württemberg”我真的想要演示http://www.percederberg.net/tools/text_converter.html,输入类型是纯文本,ISO-Latin-1

Baden-Württemberg

,输出类型为JSON / Javascript / Java - String text

"Baden-W\u00FCrttemberg"

我怎么能用C#.Net

1 个答案:

答案 0 :(得分:3)

您可以告诉JSON.NET转义所有非ASCII字符,如下所示:

var json = JsonConvert.SerializeObject("Baden-Württemberg", new JsonSerializerSettings
{
    StringEscapeHandling = StringEscapeHandling.EscapeNonAscii
});

json的值将是:

"Baden-W\u00fcrttemberg"

您可以通过ASCII编码的频道发送结果JSON字符串。