Support des schémas JSON
Cette section liste le niveau de support des éléments de schéma JSON.
Pour plus d'informations concernant le support d'éléments de schémas JSON, consultez https://json-schema.org/specification.html (en anglais).
Entièrement supporté·es
- Types simples : null, boolean, object, array, number, integer et string.
- Types mixes : "type": ["string", "null"] par exemple.
- Types définis : $defs et $definitions
- allOf et oneOf
- items et prefixItems
- maxLength et minLength
- maxItems et minItems
- required
- Formats : date-time, date et time
Supporté avec limitations
Élément | Limitation |
---|---|
Références : $id, $anchor et $ref | Les références externes aux schémas JSON utilisant $ref fonctionnent avec les fichiers de protocole et les protocoles HTTP/HTTPS uniquement. Pour HTTP, il n'y a pas de provisioning pour les paramètres de proxy ou de sécurité. Il est recommandé d'utiliser des schémas JSON composés où toutes les références se situent au sein du même document et ne sont pas des références externes. |
anyOf |
anyOf est traité comme oneOf, s'il y a plusieurs alternatives et comme allOf dans les autres cas. |
Schémas récursifs |
Les schémas récursifs sont supportés, cependant, ils peuvent avoir un impact sur les performances des structures Talend Data Mapper s'ils sont trop utilisés. Vous pouvez définir des schémas récursifs à exclure, dans . Pour plus d'informations, consultez Préférences des représentations. |
patternProperties | Les patternProperties sont traduites en groupe de maps de paires clé/valeur. C'est le cas uniquement s'il n'y a aucune propriété pour le même objet, sinon les patternProperties sont ignorées. Les valeurs d'expression régulières dans patternProperties sont ignorées. |
enum et const | Les valeurs de enum et const doivent être des types primitifs. Dans les enum, les valeurs mixes ne sont pas supportées. Toutes les valeurs doivent avoir le même type. |
Non supporté
- not
- if, then et else
- dependentSchemas et dependentRequired
- Les extensions (mots-clés non définis dans les spécifications) et $vocabulary
- $dynamicRef et $dynamicAnchor
- $vocabulary
- contient
- additionalProperties : la valeur est toujours false
- propertyNames
- unevaluatedItems et unevaluatedProperties
- Formatage de sortie
- multipleOf
- maximum et minimum
- exclusiveMaximum et exclusiveMinimum
- pattern
- uniqueItems, maxContains et minContains
- maxProperties et minProperties
- readOnly, writeOnly et examples