2016-07-15 140 views
1

我有json文件模板,這是我的變量。Ansible:刪除json文件中的空格

現在該文件具有不必要的文件空間和空行。我想通過刪除所有不必要的東西來縮小json文件。

是否有可能像做{{myjson_content| to_json_minify}}

或可能會有一些正則表達式

回答

1

您可以從JSON閱讀並轉換回JSON與separators選項

{{ my_json_content | from_json | to_json(separators=(',',':')) }} 

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}" 
}