我正在编写一个使用json表示其资源的web服务,并且我在思考对json进行编码的最佳方法有些困惑。阅读json rfc(http://www.ietf.org/rfc/rfc4627.txt)显然,首选编码是utf-8。但是RFC还描述了用于指定字符的字符串转义机制。我认为这通常用于转义非ASCII字符,从而使生成的utf-8有效ASCII。
假设我有一个json字符串,其中包含非ASCII字符(代码点)。我的网络服务应该只是对utf-8进行编码并返回它,还是应该转义所有这些非ascii字符并返回纯ascii?
我希望浏览器能够使用jsonp或eval执行结果。这会影响决策吗?我缺乏对utf-8的各种浏览器javascript支持的知识。
编辑:我想澄清一下,我对如何编码结果的主要担心实际上是关于浏览器对结果的处理。我所读的内容表明,特别是使用JSONP时,浏览器可能对编码敏感。我还没有找到关于该主题的任何非常好的信息,所以我必须开始做一些测试才能看到会发生什么。理想情况下,我只想转义所需的几个字符,而只是utf-8对结果进行编码。