Utilisez ces fonctions pour encoder des objets dictionnaire en chaînes JSON et décoder les chaînes JSON en dictionnaires.
json_enc
| **Syntaxe** | **json_enc(d)** |
|---|---|
| Description | Encode un objet dictionnaire en une chaîne JSON. |
| Paramètres | d : objet dictionnaire à encoder. |
| Valeur de retour | Chaîne encodée en JSON en cas de succès, ou false en cas d'échec. |
Exemple :
var_a = []
var_b = ['v1', 'v2']
set(var_a, 'k1', 'v1')
set(var_a, 'k2', var_b)
var_c = '{"k1":"v1","k2":["v1","v2"]}'
say(concat('json_enc=', json_enc(var_a)))
say(concat('json_dec=', get(json_dec(var_c), 'k1')))
Sortie :
json_enc={"k1":"v1","k2":["v1","v2"]}
json_dec=v1
json_dec
| **Syntaxe** | **json_dec(s)** |
|---|---|
| Description | Décode une chaîne JSON en un dictionnaire. |
| Paramètres | s : chaîne JSON à décoder. |
| Valeur de retour | Dictionnaire en cas de succès, ou false en cas d'échec. |
Remarque
Une chaîne numérique telle que "123" est décodée en une variable de type nombre. Avant d'opérer sur la valeur décodée (par exemple, pour récupérer une valeur), utilisez la fonction type pour vérifier son type.
Les exemples suivants illustrent deux scénarios : le décodage d'une chaîne numérique et le décodage d'un objet JSON.
Exemple 1 : Décodage d'une chaîne numérique
var_c = '123'
type_var_c = type(json_dec(var_c))
if eq(type_var_c, 'table') {
say(concat('json_dec=', get(json_dec(var_c), 'k1')))
} else {
say(type_var_c)
}
Sortie :
number
Exemple 2 : Décodage d'un objet JSON
var_c = '{"k1":"v1","k2":["v1","v2"]}'
type_var_c = type(json_dec(var_c))
if eq(type_var_c, 'table') {
say(concat('json_dec=', get(json_dec(var_c), 'k1')))
} else {
say(type_var_c)
}
Sortie :
json_dec=v1