하는 방법을 통해 루프 json 파일에 기록 ansible

0

질문

나는 새로운에서 Ansible 떠도는 어떻게 나가 루프를 통해 json 기록 ansible. 나는 json 파일에 다음과 같은 데이터를 내:

{
    "map": {
        "entry": [
            {
                "string": [
                    "6a032ae5-3eed-4d20-a9ef-ccbd88118c47"
                ]
            },
            {
                "string": [
                    "27617813-e268-4c94-b539-3550a3a8501a"
                ]
            },
            {
                "string": [
                    "b39b10fb-0538-42d7-96fc-553eee9c7ded"
                ]
            }
        ]
    }
}

고 나는 다음과 같은 코드에 ansible 를 통해 실행하 json file:

- name: Initialise variables
  set_fact:
    NEW_CODE_TEMPLATES_IDS: "{{ lookup('file', 'code_template_map/codeTemplate.json') | json_query('map.entry[*].item') }}"
    
    
- name: code template id
  debug:
    var: NEW_CODE_TEMPLATES_IDS

내가 예상 출력이 다음과 같다:

6a032ae5-3eed-4d20-a9ef-ccbd88118c47
27617813-e268-4c94-b539-3550a3a8501a
b39b10fb-0538-42d7-96fc-553eee9c7ded

하지만 몇 가지 이유로 이것은 보이지 않는 나를 위해 노력하고 있습니다. 지 않는 사람이 왜?

ansible
2021-11-24 05:09:25
1

최고의 응답

1

당신이 변환되지 않는 문자열을 반환에 의해 조회 JSON 으로 데이터 구조(json_query() 과 함께 사용할 수 없습니다 JSON 문자열을 기대하고 구문 분석된 데이터 구조),및 json_query('map.entry[*].item') 과 일치하지 않는 데이터 제공합니다.

내가 피 json_query() 고 표준으로 사용자 기능을 위해 이 데이터를 조작:

"{{ (lookup('file', 'code_template_map/codeTemplate.json') | from_json).map.entry | map(attribute='string') | flatten }}"

당신이 주장하는 경우에 사용 json_query(),그것은 것:

"{{ (lookup('file', 'code_template_map/codeTemplate.json') | from_json) | json_query('map.entry[*].string[]') }}"
2021-11-24 06:21:42

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................