2016-09-26 150 views
0

在Ansible中,我使用的是REST API ...我想從下面的代碼中獲取clientid的值,並且希望在另一個任務中使用它..我使用ansible uri模塊。如何通過Ansible將Json輸出值存儲在變量中

debug: var=clients.json.clientProperties[3].client.clientEntity.clientId 
     when: name==clients.json.clientProperties[{{ item }}].client.clientEntity.clientName 
     with_sequence: start=0 end={{clients.json.clientProperties|length-1}} 

我想「16」存儲在一個變量,需要通過另一個URL

+0

[set_fact](http://docs.ansible.com/ansible/set_fact_module.html)模塊? –

回答

0
- debug: var=clients.json.clientProperties[3].client.clientEntity.clientId 
    when: name == clients.json.clientProperties[ item ].client.clientEntity.clientName 
    with_sequence: start=0 end="{{clients.json.clientProperties|length-1}}" 
    register: result 

你正在尋找將可在result.results[].item的增值經銷商。您可以循環使用result.results或單獨訪問結果,分別使用result.results[0],result.results[1]等。

+0

請您詳細說明一下。在我們的代碼中,當名稱與clientname匹配時,我想存儲clientId的值。我不想要整個json數組文件。 – Dipali

+0

如果沒有更多的上下文,我不確定我能否給出更好的答案,因爲您正在循環執行此操作。您不能將多個值保存到同一個var,除非列表正如我在這裏所做的那樣,這意味着您可以在使用它之前覆蓋所需的值。 – smiller171

+0

我試圖以其他方式..... – Dipali

相關問題