最近的json rfc 7159说:
注意:没有为该注册定义“字符集”参数。
确实添加一个对符合条件的收件人没有任何影响。
即,
charset必须由符合条件的收件人忽略。
它与rfc 2045一致: “ MIME实现必须忽略其无法识别其名称的任何参数。” 因为rfc 7159仍然为application / jsonmime媒体类型(无参数)指定: “必需参数:n / a;可选参数:n / a” 。
json文本不再被限制为对象或数组,而基于前两个字符来计算字符编码的旧部分3在新的rfc中消失了。允许使用UTF-8,UTF-16或UTF-32,但无法指定编码(没有BOM,默认为UTF-8)。
charset参数可以与http / 1.1中的application / json内容类型一起使用吗?
如果
charset="utf-8"使用则没有任何危害-
utf-8是json文本的默认编码,但是其他值可能会引起误解,因为该值必须由符合条件的收件人忽略。它只能破坏正确解析Content-Type标头的客户端,例如,将其逐字与“ application /json”进行比较,或者尝试使用utf-8编码以外的客户端解码json文本的客户端。
兼容RFC的软件是否可以使用charset参数生成内容类型application / json?
没有。没有为application / json定义任何参数。
兼容RFC的软件是否应接受此类请求?
是的,应该。的值
charset必须忽略。
ECMA-404(JSON数据交换格式)以Unipre代码点的形式定义json文本,即json本身未指定有关编码详细信息的行为。
ECMA-262(ECMAscript语言规范)还在String(Unipre类型)的顶部定义了json格式。



