To use a variable gathered from json, I need it to be raw, without quotes:
I have
ok: [device] => {
"fact": {
"int": "7"
},
}
I want
ok: [device] => {
"fact": {
"int": 7
},
}
The thing is that the quotes are not part of the variable so I cant use | int
or | replace
to remove the quotes.
Is there a way ?
Best Answer
The result of a Jinja expression is always a string. You can't get an integer. What you really want, I guess, is the value of the attribute int in the dictionary fact to be an integer. Test the current value, e.g.
If the value of the attribute int is a string you'll get (abridged)
You can convert the string to an integer, e.g.
you'll get (abridged)
Now, the value of the attribute int is an integer. But, the result of the Jinja expression
var: fact.int
is still a stringfact.int: '7'
.Notes