我在ansible变量中加载了一个json文件内容。
Json内容(以及从中得到的文件)有不必要的文件空格和空行。我想通过删除所有这些不必要的东西来压缩json文件。
是否可以像这样做 {{ myjson_content| to_json_minify }}
?
也许这可以通过正则表达式完成?
separators
选项从 json 中读取并转换回 json。{{ my_json_content | from_json | to_json(separators=(',',':')) }}
json.dumps
函数。因此,你可以基本上传递to_json
由json.dumps
接受的任何参数。
playbook.yml
---
- hosts: localhost
vars:
my_json_content:
'
{ "a" : 0,
"b": 1,
"c": 2}
'
tasks:
- debug:
msg: "json = {{ my_json_content }}"
- debug:
msg: "minified_json = {{ my_json_content | from_json | to_json(separators=(',',':')) }}"
$ ansible-playbook playbook.yml
命令。TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "json = { \"a\" : 0,\n\"b\": 1,\n\"c\": 2}\n"
}
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "minified_json = {\"a\":0,\"c\":2,\"b\":1}"
}