Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:JSON

Dernière mise à jour :Aug 21, 2026

Le format JSON permet de lire et d'écrire des données JSON. La structure JSON est déduite automatiquement du schéma de la table. Realtime Compute for Apache Flink utilise l'API jackson databind pour analyser et générer les données JSON.

Les connecteurs suivants prennent en charge le format JSON :

Exemple

L'exemple suivant crée une table Kafka qui lit et écrit des données au format JSON.

CREATE TABLE Orders (
  orderId    INT,
  product    STRING,
  orderInfo  MAP<STRING, STRING>,
  orderTime  TIMESTAMP(3),
  WATERMARK FOR orderTime AS orderTime - INTERVAL '5' SECOND
) WITH (
  'connector'                  = 'kafka',
  'topic'                      = 'test-topic',
  'properties.bootstrap.servers' = 'localhost:9092',
  'format'                     = 'json',
  'json.fail-on-missing-field' = 'false',
  'json.ignore-parse-errors'   = 'true'
);

Paramètres

Paramètre Obligatoire Valeur par défaut Type Description
format Oui (aucune) STRING Format à utiliser. Définissez la valeur sur json.
json.fail-on-missing-field Non false BOOLEAN Indique s'il faut ignorer un champ ou une ligne lorsqu'un champ à analyser est manquant. true : ignore le champ ou la ligne. false : renvoie une erreur et entraîne l'échec du déploiement.
json.ignore-parse-errors Non false BOOLEAN Indique s'il faut ignorer un champ ou une ligne en cas d'échec de l'analyse. true : ignore le champ ou la ligne. false : renvoie une erreur et entraîne l'échec du déploiement.
json.timestamp-format.standard Non SQL STRING Format d'horodatage pour l'entrée et la sortie. SQL : yyyy-MM-dd HH:mm:ss.s{precision} (par exemple, 2020-12-30 12:13:14.123). ISO-8601 : yyyy-MM-ddTHH:mm:ss.s{precision} (par exemple, 2020-12-30T12:13:14.123).
json.map-null-key.mode Non FAIL STRING Méthode de gestion des clés nulles dans une map. FAIL : renvoie une erreur. DROP : supprime l'entrée. LITERAL : remplace la clé nulle par la chaîne spécifiée par json.map-null-key.literal.
json.map-null-key.literal Non null STRING Constante de chaîne utilisée pour remplacer les clés de map nulles lorsque json.map-null-key.mode est défini sur LITERAL.
json.encode.decimal-as-plain-number Non false BOOLEAN Indique s'il faut encoder les valeurs DECIMAL en notation décimale standard. true : utilise la notation décimale standard (par exemple, 0.000000027). false : utilise la notation scientifique (par exemple, 2.7E-8).
json.write-null-properties Non true BOOLEAN Indique s'il faut écrire les valeurs de colonne nulles dans la sortie JSON. true : écrit les valeurs nulles. false : omet les champs nuls. Nécessite Ververica Runtime (VVR) 8.0.6 ou version ultérieure.

Mappages de types de données

Type Flink SQL Type JSON
CHAR / VARCHAR / STRING STRING
BOOLEAN BOOLEAN
BINARY / VARBINARY STRING (encodé en base64)
DECIMAL NUMBER
TINYINT NUMBER
SMALLINT NUMBER
INT NUMBER
BIGINT NUMBER
FLOAT NUMBER
DOUBLE NUMBER
DATE STRING (format date)
TIME STRING (format time)
TIMESTAMP STRING (format date-time)
TIMESTAMP_WITH_LOCAL_TIME_ZONE STRING (format date-time, UTC)
INTERVAL NUMBER
ARRAY ARRAY
MAP / MULTISET OBJECT
ROW OBJECT

Limitations

Les données écrites dans OSS via le format JSON ne peuvent pas être enregistrées sous forme de fichiers JSON. Pour plus de détails, consultez la rubrique FLINK-30635.