Presto:从 json 中提取最后一个元素

Presto: Extract last element from json

在转换 json 字段并获取与其服务相关的信息后,我得到了一个数组。该服务在 json 字符串中采用多个值,我在输出中获得了所有这些值。我想保留最后一次出现。

我得到的输出是:

[Free Assessment, Synthetic Oil Change]

我只想保留

Synthetic Oil Change 

作为输出,我尝试用“,”替换,但一些信息的形式是

[Free Assessment, Synthetic Oil Change at 15,000 miles]

那我想保留最后一件事。我试过 json_array_get 但它对我不起作用。有办法吗?

要从包含数组的 JSON 中获取最后一个元素,您需要首先使用 json_array_length 函数获取最后一个元素的索引,然后使用 json_array_get 获取元素.请查看更多详细信息:https://prestosql.io/docs/current/functions/json.html

presto> SELECT json_array_get(x, json_array_length(x) - 1) 
        FROM (VALUES JSON'["first value", "second value"]') t(x);
    _col0
--------------
 second value
(1 row)

上面的例子是用 Presto 326 执行的。