Payload avec des /

Hi,

J’essaye d’envoyer une payload contenant des /.

{"src":"mon/topic/de/destination", ....}

et lors de la sauvegarde, il devient

{"src":"mon\/topic\/de\/destination", ....}

Du coût, le retour d’info ne va pas dans le bon topic.

Hello, j’arrive à reproduire…
Je corrige ça ce weekend

2 « J'aime »

Hello @Jeandhom,

Peux-tu modifier le fichier jMQTT/core/class/jMQTTCmd.class.php ligne 240 en remplaçant :

if (is_array($conf) && (($conf = json_encode($conf, JSON_UNESCAPED_UNICODE)) !== FALSE))

par :

if (is_array($conf) && (($conf = json_encode($conf, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)) !== FALSE))

et me dire si ça règle bien le problème chez toi ?

Bad

Pour la sauvegarde de la commande action, les \ n’apparaissent plus.

"src":"shellies/plusI4/cmdVR/GetStatus",

Par contre, ils semblent être envoyés.
Sous MQTTExplorer :
Capture d’écran du 2023-01-13 23-04-57
Confirmé par la réponse du module dans le JSON rpc:

"dst":"shellies\\/plusI4\\/cmdVR\\/GetStatus"

Ok, en effet, j’avais pas test l’envoi.
Je regarde ça demain :wink:

EDIT: J’ai trouvé :
jMQTT/core/class/jMQTT.class.php ligne 2285 (ou 2346 en beta) :

$payload = json_encode($payload, JSON_UNESCAPED_UNICODE);

devient :

$payload = json_encode($payload, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
1 « J'aime »

Pour moi c’est bon.
Good job.
Un grand merci. :sunglasses:

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.