GetAryData
概略
GetAryDataとは
GetAryDataは、SimpleJSONライブラリでJSON配列(Array)から指定した要素を取り出すための関数です。 JSON配列には文字列・数値・Object・配列など様々なデータを格納できますが、 GetAryDataを使用するとDataIndexで指定した位置のデータをそのまま取得できます。
Web APIから受信したJSONデータやAWS IoT Coreなどから受信したJSONメッセージには、 複数のデータが配列として格納されていることがあります。 そのようなデータをPLCで扱う場合に使用する関数です。
どのような場面で使用するのか
GetAryDataは次のような用途で使用します。
- Web APIから取得したJSON配列を解析する
- AWS IoT Coreから受信したJSONデータをPLCで処理する
- JSON配列内のObjectを取り出す
- 配列の中の配列を順番に取得する
- 設備情報やセンサーデータを配列形式で受信する
シンボル
GetAryData
JSONの配列から要素を取り出す

入出力
- In
- BYTE[*]
- [ から始まる文字列
入力
- DataIndex
- UINT
- 要素番号
出力
- out
- BYTE[65535]
- 要素の値
DataIndexについて
JSON配列は0から番号が割り当てられます。
| DataIndex | 取得データ |
|---|---|
| 0 | 最初の要素 |
| 1 | 2番目の要素 |
| 2 | 3番目の要素 |
存在しない番号を指定した場合は空データとなります。
Objectを取得する場合
JSON配列の要素がObjectであっても取得できます。 取得されたデータはJSON文字列となるため、 さらにGet関数などを使用してObject内のデータを取得できます。
配列の中の配列を取得する場合
JSON配列の要素がさらに配列である場合も取得できます。 取得したJSON配列に対して再度GetAryDataを実行することで、 ネストされた配列を順番に取り出すことができます。
使用上の注意
- 入力データは「[」から始まるJSON配列である必要があります。
- JSON Objectには使用できません。
- 存在しないDataIndexを指定すると空データになります。
- 取得したObjectはGet関数などで解析できます。
Get関数との違い
| 関数 | 用途 |
|---|---|
| Get | JSON Objectからキー名で取得 |
| GetAryData | JSON配列から要素番号で取得 |
実行例
Inデータ (JSON)
DataIndex=0 を指定した時の出力
out
DataIndex=1 を指定した時の出力
out
よくある質問
配列の中にObjectが入っていても取得できますか?
取得できます。Object全体がJSON形式文字列として返されます。
DataIndexが範囲外の場合は?
空データとなります。
配列の中の配列も取得できますか?
取得できます。取得後に再度GetAryDataを使用します。
