Points d'entrés du Json

Mise en contexte

Par defaut avec le champs field (explication du fonctionnement plus bas dans la page) a comme format de sorti un json cela créer un tableau d'objet. Cela devient contraignant lorsque l'on souhaite un objet json ou que l'on souhaite ajouter des information en dehors des données générés.


// Exemple d'object json nécessitant bone
{
    "param": True,
    "id fichier ":  "ID_DEAQSQDS",
    
    "az2der212":{
        "nom": "toto",
        "age": 12
    },
    "kfhgjht554":{
        "nom": "titi",
        "age": 13
    }
}

Fields

Le mot clés fields est utilisé comme point d'entré du fichier et préciser oû insérer les données

Le champ fields est utilisé si l'on souhaite un tableau d'objet, il suffit de le mettre au premier niveau puis ajouter toutes les descriptions de champ du dataset au deuxième niveau (via un tab ou un espace voir dans l page précédente)

Chaque fichier Yaml doit avoir le mot clés fields ou se placera la structure du dataset

datasetName: messageAMF
numberOfRecords: 109
fields: # premier niveau
   - fieldName : age # deuxième niveau 
     type: integer

Bone

Le mot clés bone est utilise pour décrire l'ossature du json en dehors du point d'entrée. Il est utile pour préciser des informations avant le point d'entré ou si l'on veut des clés pour chaque objet json généré.

Avec ce paramètre il faut ajouter le mot clés entrypoint : True dans la définiton de la variable qui sera le point d'entrée. Dans l'exmple suivant on peut voir que bones se situe toujours avant fields

// Exemple d'object json nécessitant bone
{
"param": True,
"id fichier ": "IDDEAQSQDS",
"az2der212":{
    "nom": "toto",
    "age": 12
},
"kfhgjht554":{
    "nom": "titi",
    "age": 13
}

}

datasetName: messageAMF
numberOfRecords: 109

bone: 
   - fieldName : param
   type : boolean
   - fieldName : id fichier
   type : id
   rules:
      len: 11
      includeLetters: true
      includeNumbers: true
      
   - fieldName : id_objet
   type : id
   isEntryPoint: true #Ce mot clés permet de spécifier que ce champs est le point d'entré
   rules:
      len: 9
      includeLetters: true
      includeNumbers: true
      
fields: # premier niveau
  - fieldName : nom # deuxième niveau 
     fakerType: name
   - fieldName : age # deuxième niveau 
     type: integer

   
   

Last updated