2016-09-07 4 views
0

例:Ansible:JSON最初のレベルのキー名をプリントアウト

{ 
     "fw1": { 
       "ipv4": { 
         "rtr": { 

           "ip": "1.2.3.4", 
           "net": "1.2.3.4", 

         } 
       } 
     }, 
     "fw2": { 
       "ipv4": { 
         "rtr": { 
           "ip": "4.3.2.1", 
           "net": "4.3.2.1", 

         } 
       } 
     } 
} 

私は、JSONファイルの最初のレベルのキーをリストする必要があります。
'from_jsonを使用して).keys()'私は奇妙な構文を得る - > [u'fw1 '、u'fw2']。
'u'の文字はどこから来て、どのようにそれらを取り除くのですか?キーを配列で取得するのではなく、リストする方法はありますか?

+0

'u'はテキストがUnicodeであることを意味します。 – Alexander

+0

'u'unicode_string''はpython2のものです。それらを取り除く心配はありません。配列はキーのリストなので、どのようにリストしたいのですか? – iScrE4m

+0

誰かが最初のレベルキーの1つを返すことを望むならば。デバッグ:var = my_json [0] //最初の要素、またはmy_jsonの場合[ 1]秒間など – alixander

答えて

0

あなたはここにfrom_jsonを使用する必要はありません。

--- 
- hosts: localhost 
    gather_facts: True 
    vars: 
    my_json: "{{ lookup('file','test.json') }}" 
    tasks: 
    - debug: 
     msg: "Keys list: {{ my_json.keys() }}" 
関連する問題