

# JSON SerDe 库
<a name="json-serde"></a>

在 Athena 中，您可以使用 SerDe 库来将 JSON 数据反序列化。反序列化会转换 JSON 数据，以便它可以被序列化（写出）为不同的格式，如 Parquet 或 ORC。
+ [Hive JSON SerDe](hive-json-serde.md)
+ [OpenX JSON SerDe](openx-json-serde.md) 
+ [Amazon Ion Hive SerDe](ion-serde.md)

**注意**  
Hive 和 OpenX 库期望 JSON 数据位于单行上（未格式化），用新的行字符分隔记录。

由于 Amazon Ion 是 JSON 的超集，因此您可以使用 Amazon Ion Hive SerDe 查询非 Amazon Ion JSON 数据集。与 Hive 和 OpenX JSON SerDe 库不同，Amazon Ion SerDe 不希望每行数据都在一行上。如果您想查询“漂亮打印”格式的 JSON 数据集，或以其他方式采用换行符将字段拆分为一行，则此功能非常有用。

## 库名称
<a name="library-names"></a>

使用以下值之一：

 [org.apache.hive.hcatalog.data.JsonSerDe](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-JSON) 

 [org.openx.data.jsonserde.JsonSerDe](https://github.com/rcongiu/Hive-JSON-Serde) 

[com.amazon.ionhiveserde.IonHiveSerDe](https://github.com/amzn/ion-hive-serde)

## 其他资源
<a name="json-serdes-additional-resources"></a>

有关在 Athena 中使用 JSON 和嵌套 JSON 的更多信息，请参阅以下资源：
+ [使用 JSONSerDe 在 Amazon Athena 中通过嵌套 JSON 和映射来创建表](https://aws.amazon.com/blogs/big-data/create-tables-in-amazon-athena-from-nested-json-and-mappings-using-jsonserde/)（AWS 大数据博客）
+ [我在 Amazon Athena 中尝试读取 JSON 数据时收到错误](https://aws.amazon.com/premiumsupport/knowledge-center/error-json-athena/)（AWS 知识中心文章）
+ [hive-json-schema](https://github.com/quux00/hive-json-schema) (GitHub) – 用 Java 编写的工具，可从示例 JSON 文档生成 `CREATE TABLE` 语句。生成的 `CREATE TABLE` 语句使用 OpenX JSON Serde。