根据RFC 4627,JSON文本应该使用Unicode进行编码,默认编码为UTF-8。它进一步描述了如何检测不同的UTF-*编码,并建议不支持其他编码。在这里,“SHALL”表示绝对要求(请参阅RFC 2119)。实际上,没有理由使用非UTF编码与JSON一起使用(因为任何能够处理JSON的东西肯定可以处理UTF-8)。
在application/json上返回charset参数是不正确的,因为该媒体类型不定义charset参数。请参见https://greenbytes.de/tech/webdav/rfc8259.html#rfc.section.11的最后一句话: 注意:此注册未定义“charset”参数。在符合要求的接收方上添加一个确实没有任何影响。