我应该HTML编码我的Web API的响应

Shu*_*ing 8 json html-encode asp.net-web-api

我设计一个Web API,返回JSON作为内容类型,响应主体可以包含类似的字符',",<>,他们在JSON有效字符.所以,我的问题是我应该为我的Web API响应主体进行HTML编码,还是应该将此任务留给使用我的Web API的HTML客户端?

SLa*_*aks 9

没有; 你不能.

只有在将数据连接成结构化格式时才能转义数据.

如果您返回JSON { "text": "Content by X &amp; Y" },那么读取该JSON的任何人都将看到文​​字文本&amp;.
只有在没有转义的情况下将其直接连接到HTML中的极其破碎的客户端才能正常工作.

简而言之:

除非您要显示文本,否则永远不要转义文本