5 votes

Impossible de stocker la sortie de jq dans une variable

J'ai du texte que je veux convertir en quelque chose que je peux utiliser dans JSON. Je peux échapper le texte à l'aide de jq et l'afficher.

normaltext="My normal text that I want to put in \"JSON\""
echo $normaltext | jq --slurp --raw-input

"Mon texte normal que je veux mettre dans \N "JSON\" \n "

Cependant, si l'on stocke la sortie de la commande dans une variable, jq ne semble pas recevoir l'entrée et se contente d'afficher le texte d'aide.

escapedtext=$(echo $normaltext | jq --slurp --raw-input)

jq - processeur JSON en ligne de commande [version 1. Utilisation : jq [options] [fichier...]

10voto

peak Points 71

Votre version de jq nécessite manifestement l'utilisation de l'option . filtre ici, comme dans :

 jq -s -R .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X