以前に C# で JSON を解析したことがありますが、今回は Node-Red で JavaScript を使用します。私は Web を検索し、JavaScript で JSON を解析するいくつかのソリューションを見つけましたが、すべての例で JSON は非常に単純であり、その中のデータの「レベル」は多くありませんでした。
解析する必要がある JSON ファイルの一部を提供します
{
"programStatus": {
"modified_host_attributes": "1",
"modified_service_attributes": "1",
"serial_host_check_stats": "0,0,0"
},
"hosts": {
"FILANAS01": {
"host_name": "FILANAS01",
"modified_attributes": "0",
"check_command": "check-host-alive",
"current_state": "0",
"scheduled_downtime_depth": "0"
},
"FILANAS02": {
"host_name": "FILANAS02",
"modified_attributes": "0",
"check_command": "check-host-alive",
"current_state": "0",
"scheduled_downtime_depth": "0"
},
"FILANSW01": {
"host_name": "FILANSW01",
"modified_attributes": "0",
"check_command": "check-host-alive",
"scheduled_downtime_depth": "0"
},
"FILANSW02": {
"host_name": "FILANSW02",
"modified_attributes": "0",
"check_command": "check-host-alive",
"current_state": "0",
"scheduled_downtime_depth": "0"
}
},
"services": {
"FILANSW01": {
"HP ProCurve Hardware Check": {
"host_name": "FILANSW01",
"current_state": "0",
"scheduled_downtime_depth": "0"
},
"System Location": {
"host_name": "FILANSW01",
"current_state": "0",
"scheduled_downtime_depth": "0"
}
},
"FILANSW02": {
"HP ProCurve Hardware Check": {
"host_name": "FILANSW02",
"current_state": "0",
"scheduled_downtime_depth": "0"
},
"System Location": {
"host_name": "FILANSW02",
"current_state": "0",
"scheduled_downtime_depth": "0"
}
},
"FILASDC02": {
"Active Directory Domain Services": {
"host_name": "FILASDC02",
"current_state": "0",
"scheduled_downtime_depth": "0"
},
"CPU Load": {
"host_name": "FILASDC02",
"current_state": "0",
"scheduled_downtime_depth": "0"
},
"DNS Server": {
"host_name": "FILASDC02",
"current_state": "0",
"scheduled_downtime_depth": "0"
},
"Drive Space C:": {
"host_name": "FILASDC02",
"current_state": "0",
"scheduled_downtime_depth": "0"
}
}
}
}
これは Nagios から生成され、サーバーとスイッチ、およびそれらに関する情報が含まれています。すべての「ホスト」を繰り返し処理し、「current_state」が何であるかを確認する必要があります。それ以外の場合は 0 で、その「ホスト」から「host_name」とその他の情報をフェッチします。
そして、「サービス」からの同じことが、0でない場合は現在の状態を確認します。
次に、この JSON から取得した情報で配列を作成し、情報画面に表示します。
しかし、JSON を使い始めるには助けが必要です。ありがとう。