2015-06-17 2 views
0

я получаю сложный JSON из ПУЭ, и зарегистрироваться как этоткак использовать петлю гнезда в анзибле PlayBook с JSon регистром

- name: get the json 
    command: /abc/get_info.rb 
    register: JsonInfo 

и JSON, как это

{"a-b-c.abc.com":[["000000001","a"],["000000002","a"],["000000003","c"]],"c-d-e.abc.com":[["000000010","c"],["000000012","b"]],"c-d-m.abc.com":[["000000022","c"],["000000033","b"],["000000044","c"]]} 

но что Я могу сделать, это просто выходной JSON как это:

- debug: msg="{{JsonInfo}}" 

и петли, как этот

- debug: msg="{{item.key}} and the host is{{inventory_hostname}} and value is{{item.value}}" 
    with_dict: "{{JsonInfo.stdout}}" 
    when: item.key==inventory_hostname 

, кстати, то abc.abc.com, cde.abc.com, cdm.abc.com это имя хоста сервера

но то, что я действительно хочу сделать, это запустить цикл по JSON первый, и получить результат

"a-b-c.abc.com":[["000000001","a"],["000000002","a"],["000000003","c"]] 
"c-d-e.abc.com":[["000000010","c"],["000000012","b"]] 
"c-d-m.abc.com":[["000000022","c"],["000000033","b"],["000000044","c"]] 

и когда я получил все эти выше, я запускаю еще один цикл для каждого из значения abc.abc.com, cde.abc.com, cdm.abc.com и затем в соответствии с «a», «c», запустите другой commmand на abc.abc.com или cde.abc.com

Как я могу l oops эти json?

ответ

Смежные вопросы