首页 文章

如何告诉AWS胶水我的json是utf-8?

提问于
浏览
0

我正在尝试使用AWS Glue Crawler为json文件创建表 . 我的JSon文件是带有BOM的utf-8 . 似乎AWS Glue无法将文件识别为json(或实际上任何东西),因此它会创建一个空表定义 . 纯文本文件确实有效(但当然它们不能正确包含国际字符) . 有没有办法告诉Glue文件是utf-8?我已经尝试将S3元数据“Content-Type”设置为“application / json; charset = utf-8”,但这没有帮助 .

1 回答

  • 2

    事实证明,AWS Glue json文件不能有BOM . 正如三人在评论中所说的那样,默认情况下它们是utf-8 . RFC 8259确实说:

    8.1 . 字符编码在不属于封闭生态系统的系统之间交换的JSON文本必须使用UTF-8进行编码

    并补充:

    实现绝不能在网络传输的JSON文本的开头添加字节顺序标记(U FEFF) . 为了互操作性,解析JSON文本的实现可以忽略字节顺序标记的存在,而不是将其视为错误 .

    对于AWS Glue而言,最后一点做得很好,但他们并不需要这么做 .

相关问题