在转换 json 字段并获取与其服务相关的信息后,我有一个数组。该服务在 json 字符串中获取多个值,我在输出中获取所有这些值。不过,我想保留最后一次出现。
我得到的输出是:
[Free Assessment, Synthetic Oil Change]
我只想保留
Synthetic Oil Change
作为输出,我尝试通过","进行 substr,但有些信息的形式是
[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 执行的。