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 détaillées sur la création d’une source de données de type Fichier, reportez-vous à la section Créer une source de données de type de fichier.
- Pour JSON les tableaux, le chemin d’accès de chaque ligne doit spécifier deux fois l’élément racine du tableau, par exemple
/incidents/incidents. - JSON 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 les enfants, les frères et sœurs ou les 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 niveau 2
- Chemin d’accès de chaque ligne :
/problems/data/data - Résultat : 3 enregistrements
/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 les 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 à une erreur d’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 à une erreur d’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 respecter la norme RFC-4627, qui stipule que les noms dans 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"
}
}
}