2017-05-02 8 views
1

私はパペットマニフェストで非常に単純なjsonファイルを解析しようとしていますが、苦労しています。パペット:parse json

サンプルパペットマニフェスト作品に続いてそれだけでJSONファイル内のエントリを表示します

include stdlib 
$hash = loadjson('/tmp/file.json') 
notify("$hash") 

JSONファイルIは、変数「$メッセージに「メッセージ」を割り当てることができるようにしたい

{ 
    "output": { 
    "message": "This is the entire value", 
    "return_value": "0" 
    } 
} 

"return_value"を変数 "$ return_value"に設定します

+1

プラグインシンク中に自動的に読み込まれるカスタム関数を使用しているので、stdlibをインクルードする必要はありません。実際、ここにはそれを含めて何もしません。 –

答えて

3

$hash = loadjson('/tmp/file.json') 
    $message  = $hash['output']['message'] 
    $return_value = $hash['output']['return_value'] 
    notice("$message, $return_value") 

以上簡潔に:上記のコメントで述べたように

$hash = loadjson('/tmp/file.json') 
    [$message, $return_value] = $hash['output'] 
    notice("$message, $return_value") 

、ここinclude stdlibのための実際の必要はありません。

+0

ありがとう。 loadjsonとparsejsonの違いは何ですか?これらのドキュメントはどこで入手できますか? – user1074593

+1

どちらもここに記載されています。https://github.com/puppetlabs/puppetlabs-stdlib JSON文字列とJSONファイルが必要です。 –