服务端JSON内容中有富文本时

时间:2021-10-10 09:54:39

问题背景

如果使用的Newtonsoft等第三方库,请无视此问题,第三方库已经帮你处理好了,不会存在此问题。

由于数据中存在复杂的富文本,包含各种引号和特殊字符,导致后端和前端通过JSON格式进行数据交互引发前端JSON解析出错。

解决方案

后端将富文本内容 ConvertToBase64String

前端引入jQuery扩展插件jquery.base64.js,对后端传来的富文本数据进行解析。

示例代码

后端(以C#为例)

string content = "我是富文本";
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(content );
context.Response.Write(Convert.ToBase64String(bytes));

前端(以JavaScript为例)

//data为ajax接收到的数据
var content = $.base64('atob', data, true);
$('#content').html(content);