

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# JSON.STRAPPEND
<a name="json-strappend"></a>

Ajoutez une chaîne aux chaînes JSON au niveau du chemin.

Syntaxe

```
JSON.STRAPPEND <key> [path] <json_string>
```
+ key (obligatoire) — clé de type de document JSON
+ path (facultatif) — un chemin JSON. La valeur par défaut est la racine si elle n'est pas fournie
+ json\$1string (obligatoire) — Représentation JSON d'une chaîne. Notez qu'une chaîne JSON doit être entre guillemets, c'est-à-dire « foo"'.

**Retour**

Si le chemin est une syntaxe améliorée :
+ Tableau d'entiers, représentant la nouvelle longueur de la chaîne à chaque chemin.
+ Si une valeur au niveau du chemin n'est pas une chaîne, sa valeur de retour correspondante est nulle.
+ `SYNTAXERR `erreur si l'argument json d'entrée n'est pas une chaîne JSON valide.
+ `NONEXISTENT `erreur si le chemin n'existe pas.

Si le chemin est une syntaxe restreinte :
+ Entier, la nouvelle longueur de la chaîne.
+ Si plusieurs valeurs de chaîne sont sélectionnées, la commande renvoie la nouvelle longueur de la dernière chaîne mise à jour.
+ Erreur `WRONGTYPE` si la valeur au niveau du chemin n'est pas une chaîne.
+ Erreur `WRONGTYPE` si l'argument json en entrée n'est pas une chaîne JSON valide.
+ Erreur `NONEXISTENT` si le chemin n'existe pas.

**Exemples**

 Syntaxe de chemin améliorée :

```
127.0.0.1:6379> JSON.SET k1 $ '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}'
OK
127.0.0.1:6379> JSON.STRAPPEND k1 $.a.a '"a"'
1) (integer) 2
127.0.0.1:6379> JSON.STRAPPEND k1 $.a.* '"a"'
1) (integer) 3
127.0.0.1:6379> JSON.STRAPPEND k1 $.b.* '"a"'
1) (integer) 2
2) (nil)
127.0.0.1:6379> JSON.STRAPPEND k1 $.c.* '"a"'
1) (integer) 2
2) (integer) 3
127.0.0.1:6379> JSON.STRAPPEND k1 $.c.b '"a"'
1) (integer) 4
127.0.0.1:6379> JSON.STRAPPEND k1 $.d.* '"a"'
1) (nil)
2) (integer) 2
3) (nil)
```

 Syntaxe de chemin restreinte :

```
127.0.0.1:6379> JSON.SET k1 . '{"a":{"a":"a"}, "b":{"a":"a", "b":1}, "c":{"a":"a", "b":"bb"}, "d":{"a":1, "b":"b", "c":3}}'
OK
127.0.0.1:6379> JSON.STRAPPEND k1 .a.a '"a"'
(integer) 2
127.0.0.1:6379> JSON.STRAPPEND k1 .a.* '"a"'
(integer) 3
127.0.0.1:6379> JSON.STRAPPEND k1 .b.* '"a"'
(integer) 2
127.0.0.1:6379> JSON.STRAPPEND k1 .c.* '"a"'
(integer) 3
127.0.0.1:6379> JSON.STRAPPEND k1 .c.b '"a"'
(integer) 4
127.0.0.1:6379> JSON.STRAPPEND k1 .d.* '"a"'
(integer) 2
```