使用 Presto 从数据构建 json

Ram*_*Ram 5 sql json hierarchical-data presto amazon-athena

如果我的表中有数据如下

WITH dataset AS (
  SELECT ARRAY[
    CAST(ROW('Bob', 38) AS ROW(name VARCHAR, age INTEGER)),
    CAST(ROW('Alice', 35) AS ROW(name VARCHAR, age INTEGER)),
    CAST(ROW('Jane', 27) AS ROW(name VARCHAR, age INTEGER))
  ] AS users,
  CAST(ROW('Google') AS ROW(company VARCHAR)) AS company
)
SELECT * FROM dataset
Run Code Online (Sandbox Code Playgroud)

预期格式如下:

{
    "company": "Google",
    "users": [
        {
            "name": "Bob",
            "age": 38
        },
        {
            "name": "Alice",
            "age": 35
        },
        {
            "name": "Jane",
            "age": 27
        }

    ]
}
Run Code Online (Sandbox Code Playgroud)

如何构造从该数据中提取的 JSON?

eby*_*yhr 1

您只需将其转换为 JSON 即可。

...
SELECT cast(users as json), cast(company as json) FROM dataset
Run Code Online (Sandbox Code Playgroud)

https://trino.io/docs/0.172/functions/json.html

如果它没有返回预期的输出,请分享您的预期结果。

  • 是的,它以 JSON 形式返回,但没有列/字段名称。让我添加我期望的结果。 (2认同)