doc:admin:cold:macro_getjson
Table des matières
Extraction de donnée via requêtage JSON (jsonpath)
C’est quoi JSONPath ?
JSONPath est un outil qui permet de chercher des informations dans un fichier JSON (ex: facture électronique).
À quoi ça sert ?
- Extraire des identifiants (SIREN, TVA, IBAN…)
- Lire les montants (HT, TVA, TTC)
- Vérifier des règles (présence d’un champ, valeur attendue)
Les bases
1. Point de départ
$
Début du document
2. Accéder à un champ
$['rsm:CrossIndustryInvoice']['rsm:ExchangedDocument']['ram:ID']
3. Filtrer
[?(@.champ == "valeur")]
Permet de sélectionner un élément précis dans une liste
| récupérer les données du vendeur |
"ram:ID": [
{ "@schemeID": "0008", "#text": "FRxxxxxxxxxxx" },
{ "@schemeID": "0002", "#text": "xxxxxxxxx" },
{ "@schemeID": "0009", "#text": "xxxxxxxxxxxxxx" }
]
Dans ce cas :
- 0008 = TVA
- 0002 = SIREN
- 0009 = SIRET
JSONPath
$['rsm:CrossIndustryInvoice'] ['rsm:SupplyChainTradeTransaction'] ['ram:ApplicableHeaderTradeAgreement'] ['ram:SellerTradeParty'] ['ram:ID'][?(@['@schemeID']=='0008')] ['#text']
Traduction métier
“Dans la facture :”
- Aller dans la facture principale
- Aller dans la transaction
- Aller dans les infos vendeur
- Regarder les identifiants du vendeur
- Trouver celui avec schemeID = TVA (0008)
- Récupérer la valeur
Résultat
FRxxxxxxxxxxx
A retenir
| Élément | Signification |
|---|---|
| $ | début de la facture |
| [‘champ’] | accéder à un champ |
| [*] | tous les éléments |
| [0] | premier élément |
| [?()] | filtre |
| @ | élément courant |
Autres Exemples
Trouver le nom de la société
$['rsm:CrossIndustryInvoice']
['rsm:SupplyChainTradeTransaction']
['ram:ApplicableHeaderTradeAgreement']
['ram:SellerTradeParty']
['ram:Name']
Trouver un montant TTC
$['rsm:CrossIndustryInvoice']['rsm:SpecifiedTradeSettlementHeaderMonetarySummation']['ram:GrandTotalAmount']
doc/admin/cold/macro_getjson.txt · Dernière modification : de jeremy
