Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:JSON_VALUE

Última actualización: Sep 03, 2026

Extrae el valor en una ruta específica de una cadena JSON y lo devuelve como una cadena VARCHAR. Si la ruta coincide con un arreglo u objeto, la estructura coincidente se serializa en una cadena VARCHAR en lugar de devolverse como un tipo nativo.

Limitaciones

JSON_VALUE solo es compatible con Realtime Compute for Apache Flink que utiliza Ververica Runtime (VVR) 3.0.0 o versiones posteriores.

Sintaxis

VARCHAR JSON_VALUE(VARCHAR content, VARCHAR path)

Parámetros

Parámetro

Tipo de dato

Descripción

content

VARCHAR

La cadena JSON que se va a analizar sintácticamente. El tipo del parámetro debe ser VARCHAR. De lo contrario, utilice CAST para convertirlo primero; pasar directamente un valor que no sea VARCHAR puede provocar errores de análisis y resultados NULL inesperados.

path

VARCHAR

La expresión de ruta que identifica el valor a extraer. Encierre la ruta entre comillas simples ('). Por ejemplo: JSON_VALUE(json,'$.passenger_name') AS ABC

El parámetro path admite los siguientes símbolos:

Símbolo

Significado

$

Objeto raíz

[]

Subíndice de arreglo

*

Comodín de arreglo

.

Elemento secundario

Notas de uso

  • Si content contiene JSON no válido, o si alguno de los parámetros es NULL, se devuelve NULL.

  • Si la ruta coincide con un arreglo u objeto, el resultado es una representación en cadena VARCHAR de dicha estructura (por ejemplo, [30,40]), no un arreglo u objeto nativo.

Ejemplos

A continuación se presentan ejemplos que utilizan una única instrucción SELECT sobre la tabla T1 para mostrar cómo afectan al resultado las distintas combinaciones de content y path.

Tabla T1:

id (INT)

json (VARCHAR)

path1 (VARCHAR)

1

[10, 20, [30, 40]]

$[2][*]

2

{"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}

$.ccc.hhh[*]

3

{"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}

$.ccc.hhh[1]

4

[10, 20, [30, 40]]

NULL

5

NULL

$[2][*]

6

"{xx]"

"$[2][*]"

Instrucción de prueba:

SELECT
    id,
    JSON_VALUE(json, path1) AS `value`
FROM
    T1;

Resultados:

id (INT)

value (VARCHAR)

Notas

1

[30,40]

Arreglo en $[2]: todos los elementos mediante *, serializados a VARCHAR

2

["h0","h1","h2"]

Arreglo anidado en $.ccc.hhh: todos los elementos mediante *, serializados a VARCHAR

3

h1

Elemento único en el índice 1 del arreglo hhh

4

NULL

path1 es NULL

5

NULL

json es NULL

6

NULL

json contiene JSON no válido

Pasos siguientes