Bonjour Laurent,
Cela ne peux pas pas fonctionner car en JSON les \ ouvrent une séquence d'échappement. Du coup \ansi et vu comme \a qui ne correspond à rien.
Il ne faut pas échapper les accolades.
Une solution serait de doubler les \.
Conseille : oublie le "soit vJson...."
Contrôle le type d'emblée : vJson est un Variant...
Voici un code qui fonction (version 2026)
sJSON est une chaîne = [
{
"q":96,
"i":"%1",
"icfr":"%2"
}
]
sICFR est une chaîne=`
{\rtf1\ANSI\ansicpg1252\deff0\nouicompat\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}}{\*\generator Riched20 10.0.26100}\viewkind4\uc1 \pard\f0\fs23 lolo\par}
`
sICFR = Remplace(sICFR,"\","\\")
sJSON = ChaîneConstruit(sJSON, 2, sICFR)
// Test avant parse (si dispo dans ta version)
SI JSONValide(sJSON) ALORS
vJson est un Variant = JSONVersVariant(sJSON)
SINON
Erreur("JSON invalide")
FIN
PS : Jeudi prochain je fais une masterclass sur le format JSON
--
Thierry TILLIER
Développeur WINDEV -WEBDEV
Formation WINDEV :
https://www.cours-windev-thierrytillier.com/Tuto WINDEV sur ma chaîne YouTube