如何使用ansible jinja从json文件中获取json值

时间:2016-09-01 09:42:18

标签: json ansible ansible-playbook

我的json文件在playbook的文件中,我需要得到一个特定的值"结束"来自我的json文件的值,我该怎么做。

这是我的尝试:

 - set_fact:
      usr: "{{ (lookup('file','{{ role_path }}/files/inputfile.json')) |      from_json }}"

- set_fact:
     user: "{{ item }}"
  with_items:
      "{{ usr['meta'] | map(attribute='ending') | list }}"

My Inputjsonfile:


  {
    "mydata": {
         "pair": [
            "key": "-----BEGIN RSA PRIVATE KEY-----MIIEowIBAAKCAQEAgOh +            Afb0oQEnvHifHuzBwl + Tiu8LXoJXb / ii / ehfNpJZLi1Ns8Wns4n5y8U6K0qE8E1bs / kedSUM30euKUu4YYnT5pDJT + kroo2fpsxM0nhrCRjUxCzClRSo41V / Q2a3QOSLPRXf
                  GL / Sf9kJVSRc6YmKDcnNkylqYWk4Ts0AP4fFTgZxbZQ6T6KQxEKeiKO + CQyvQi8ZL75UmmhbtM5R
                  qDTriXmPR3v4OHVTFx7zJzT2uZYxL4nNcsFi0mJLP + AvSkucIThOQcS64KVFLmxvJghSVyB + ZUfx
                  wrUhAORF / Q3zuIj +                    a9BDLTg3jMYkBC7NdAeYxAuHisJJMgEmmTU5qgPrkSabCPKJhCP3
                    -- -- - END RSA PRIVATE KEY-- -- - "
                     }
                   ],
                "name": "Jonhm",
                "centre": "saquel"
                    }

                          }

谢谢

1 个答案:

答案 0 :(得分:0)

错误是因为您的JSON文件格式不正确 将shops改为:

    "shops": [
          "mart",
          "flip",
          "amazon"
    ]

或者这个:

   "shops": [
        {
          "mart": 0,
          "flip": 0,
          "amazon": 0
        }
   ]

错误将消失。