Exemples d’importation de fichiers JSON
Ces exemples montrent comment importer différents types de données JSON et le chemin d’accès nécessaire pour chaque ligne. Les fichiers JSON que vous importez doivent suivre ces directives.
Pour obtenir des instructions étape par étape sur la création d’une source de données de type Fichier, Créer une source de données de type de fichierreportez-vous à la section .
- Pour JSON les tableaux, le chemin d’accès de chaque ligne doit spécifier l’élément racine du tableau deux fois, par exemple
/incidents/incidents. - JSON les fichiers doivent suivre la RFC-4627. Par exemple, une seule virgule doit séparer une valeur du nom suivant. Les noms dans un objet doivent être uniques.
- Les prédicats tels que
@element,[index]outext(), ainsi que les axes tels que enfants, frères et sœurs ou ancêtres ne sont pas pris en charge.
Tableau simple
- Chemin d’accès de chaque ligne :
/incidents/incidents - Résultat : 2 enregistrements
du tableau /incidents . Cela est nécessaire lors de l’importation d’un tableau.{
"source":"HI",
"incidents":[
{
"number":"INC0000001",
"short_description":"Can't read email"
},
{
"number":"INC0000002",
"short_description":"Error loading XML file"
}
]
}
Tableau de 2e niveau
- Chemin d’accès de chaque ligne :
/problems/data/data - Résultat : 3 enregistrements
du tableau /data .{
"problems":{
"id":"0",
"data":[
{
"number":"PRBTEST001",
"short_description":"testsd1"
},
{
"number":"PRBTEST002",
"short_description":"testsd2"
},
{
"number":"PRBTEST003",
"short_description":"testsd3"
}
]
}
}
Tableau imbriqué
- Chemin d’accès de chaque ligne :
/problems/problems/data/data - Résultat : 3 enregistrements
/problems et /data.{
"problems": [
{
"id":0,
"data":[
{
"number":"PRBTEST001",
"short_description":"testsd1"
},
{
"number":"PRBTEST002",
"short_description":"testsd2"
},
{
"number":"PRBTEST003",
"short_description":"testsd3"
}
]
}
]
}
Prise en charge des tableaux enfants (imbriqués)
Par défaut, l’importation ne prend pas en charge les tableaux enfants (imbriqués). Vous pouvez activer la prise en charge en décochant la case Ignorer les tableaux dans la vue Source de données. Le tableau suivant décrit différents comportements lors de l’activation et de la désactivation de la prise en charge des tableaux enfants.
{
"response":{
"docs":[
{
"id":"id_val",
"childrenArray":[1,2,3],
"anotherArray":[{"key1":"value1"}, {"key1": "value2"}],
"elementWithArray":{"childrenArray":[1,2,3]}
}
]
}
}
| Chemin d'accès | Ignorer les tableaux activés | Ignorer les tableaux désactivés |
|---|---|---|
| /réponse/docs/docs | Crée un enregistrement avec les colonnes et valeurs suivantes :
|
Crée un enregistrement avec les colonnes et valeurs suivantes :
|
| /response/docs/docs/anotherArray/anotherArray | Crée deux enregistrements, chacun avec une colonne : key1. | Crée deux enregistrements, chacun avec une colonne : key1. |
| /response/docs/docs/childrenArray/childrenArray | Ne fonctionne pas et renvoie un chemin d’accès doit toujours faire référence à l’erreur des objets JSON , car les valeurs du tableau ne sont pas dans une structure clé-valeur. | Ne fonctionne pas et renvoie un chemin d’accès doit toujours faire référence à l’erreur des objets JSON , car les valeurs du tableau ne sont pas dans une structure clé-valeur. |
Tableau orphelin
- Chemin d’accès de chaque ligne :
- Résultat : 2 enregistrements
[
{
"number":"PRBTEST001",
"short_description":"testsd1"
},
{
"number":"PRBTEST002",
"short_description":"testsd2"
}
]
Plusieurs éléments au lieu d’un tableau
- Chemin d’accès de chaque ligne :
/problems/problem - Résultat : 3 enregistrements
Important :
Ce format n’est pas recommandé. Les fichiers JSON doivent suivre la norme RFC-4627, qui stipule que les noms d’un objet doivent être uniques. Utilisez plutôt des tableaux JSON.
{
"problems":{
"title":"2 problems",
"problem":{
"number":"PRBTEST001",
"short_description":"testsd1"
},
"problem":{
"number":"PRBTEST002",
"short_description":"testsd2"
}
},
"problems":{
"title":"1 problem",
"problem":{
"number":"PRBTEST005",
"short_description":"testsd5"
}
}
}