spring-data-redis - À propos de la chaîne JSON de l'objet de stockage Redis Spring Data, certains caractères inattendus apparaissent dans la valeur value
PHP中文网
PHP中文网 2017-05-31 10:31:22
0
2
1098

J'ai enregistré une chaîne json d'un objet pour chaque clé dans Redis, mais il y avait des caractères étranges lorsque je l'ai retiré

this.redisTemplate.opsForValue().set(key, objectMapper.writeValueAsString(XXX),  15 * 1000);

Voici le code valeur :

String xxxJSON= this.redisTemplate.opsForValue().get(key);

XXX xxx = objectMapper.readValue(xxxJSON, XXX.class);

Voici le résultat :

redis取到的值====   NULNULNULNULNULNULNULNULNUL。。。。。{json 内容}                               

C'est ce que vous voyez dans Redis Manager

\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00。。。。。。。。。。。。还有很多{json数据}

La sortie précédente du journal NUL est visible, mais une fois copiée, elle est pleine d'espaces Afin de permettre à tout le monde de voir l'effet, le NUL manuscrit

.

Le principal problème est que je dois convertir les données récupérées en objet. Si je supprime le NUL devant, elles peuvent être converties en objet. Si je l'ajoute, une erreur sera signalée, mais lorsque je copierai. il, il sera rempli d'espaces.
Les autres données conviennent à la liste définie. Il n'y a aucun problème avec les chaînes ou les chaînes, seules les chaînes json ont ce problème.

Quelqu'un a-t-il rencontré ce problème ? La raison principale est qu'il ne comprend pas pourquoi ce problème se produit. Pourquoi les chaînes JSON n'ont-elles pas ce problème ?

Essayez également d'utiliser s pour faire correspondre les espaces et remplacer et couper pour supprimer les espaces de début et de fin, mais cela n'a aucun effet et la chaîne n'est pas transformée

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(2)
大家讲道理

trim peut être utilisé après avoir supprimé les espaces. Ce n'était pas le dernier code lors du test. "s" ne peut pas correspondre. De plus, l'objet Java Date est stocké dans Redis et automatiquement converti en. L'horodatage converti est inférieur à l'heure réelle. Cela m'a pris une heure et je n'ai toujours pas trouvé la raison. Quel piège.

Utilisation de StringRedistemplate

淡淡烟草味

Essayez d'utiliser StringRedisTemplate au lieu de RedisTemplate

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal