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

3

当我尝试在C#中将SQL表内容以JSON格式检索时,例如:内容Baden-Württemberg在JSON序列化后被检索为"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 - 字符串文本

"Baden-W\u00FCrttemberg"

我该如何在C# .Net中实现呢?

你应该使用 Encoding.GetEncoding("iso-8859-1"),如果可以的话请告诉我。 - DeJaVo
1个回答

3
您可以通过以下方式告诉JSON.NET转义所有非ASCII字符:
var json = JsonConvert.SerializeObject("Baden-Württemberg", new JsonSerializerSettings
{
    StringEscapeHandling = StringEscapeHandling.EscapeNonAscii
});

json的值将会是:

"Baden-W\u00fcrttemberg"

你可以将生成的JSON字符串通过ASCII编码的通道发送。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接