带有HTML编码字符的文本的Newtonsoft.JSON错误

时间:2011-12-08 23:55:17

标签: asp.net json json.net

我在客户端允许来自TinyMCE的用户输入并将其存储为JSON字符串,然后将其传递给服务器ASP.NET C#。

JSON字符串如下所示:

{ "mcfn2" : ";lt;p;gt;Trước đ& oacute;, việc tung ra t& ecirc;n miền lần đầu ti& ecirc;n được sự đồng & yacute; của ICANN - tổ chức quản l& yacute; t& ecirc;n miền quốc tế" }
(JSON字符串包含越南语重音符)

但是当在服务器上进行处理时,我收到错误“未终止的字符串。预期的分隔符:”。第1行,位置....“(看起来因为

đ& oacute;
而发生了错误。)(在这个页面中,我用空格分隔并带有字符,因为它会自动生成如果没有空间则转换为越南语)

如果用户输入是英文文本(没有越南语重音符号),则没有错误。

请指导我如何解决此错误。

1 个答案:

答案 0 :(得分:0)

我知道此时这可能对你没用,但也许它可以帮助另一个人。

在将字符串序列化为JSON之前,您应该将字符串转换为UTF8以处理重音符号(越南语和许多其他语言)。为此,您可以使用此功能:

private string ConvertToUtf8(string textOriginal)
{
  if (!string.IsNullOrEmpty(textOriginal))
  {
    byte[] bytes = Encoding.Default.GetBytes(textOriginal);
    return Encoding.UTF8.GetString(bytes);
  }
  return string.Empty;
}