SimpleJSONライブラリ(JSON解析ライブラリ)
JSONとは
JSON(JavaScript Object Notation)とは、軽量なテキストベースのデータ形式(書き方)です
JavaScriptやPythonなど様々な言語同士でデータの受け渡しで使われています
概略
SimpleJSONライブラリは、OMRON NX/NJシリーズPLC向けに作成したJSON解析ライブラリです。
MQTT通信やREST API通信で受信したJSONデータをDictionary形式へ変換し、Keyを指定して簡単にValueを取得できます。
AWS IoT Coreや各種クラウドサービスとの連携で利用できます。
PLCでJSONを利用する場面
JSONはMQTT通信やREST API通信で最もよく利用されるデータ形式です。
AWS IoT Core、Azure IoT Hub、Node-RED、Pythonアプリケーションなどとのデータ連携に利用されます。
基本的なJSONの例
| 文字列(Strings) | "(ダブルクオーテーション)で囲まれた文字(UTF-8) |
| 数値(Numbers) | 整数、負数、少数の値と指数表記 (16進表記や先頭ゼロ埋めは出来ない) |
| ブール(Boolean) | true、false |
| オブジェクト(object) | {}で囲まれた文字 |
| 配列(Array) | []で囲まれた文字 |
このSimpleJSONライブラリでの仕様
| 扱えるJSONのBYTE数 | 65535 |
| Keyの数 | 100 |
| Keyのbyte数 | 50 byte (オブジェクトのネストをすべて含む ※1) |
| Valueのbyte数 | 1986 byte |
Valueがオブジェクトの場合はネストします
オブジェクト以外はすべて文字列として格納します
| 文字列 | "(ダブルクオーテーション)を含んで格納 |
| 数値 | 文字列として格納 |
| 配列 | "["から"]"までをすべて文字列として格納 |
オブジェクトのネスト
オブジェクトの中にオブジェクトがある時はKeyを.(ドット)で繋ぎます
変換例
JSONをDictionaryに変換したときのKeyとValue
JSON
| Key | Value |
|---|---|
| name | "taro" |
| age | 29 |
| image.visible | true |
| image.Title | "View from 15th Floor" |
| image.Thumbnail.Url | "http://www.example.com" |
| image.Thumbnail.Height | 125 |
| image.Thumbnail.Width | 100 |
| image.IDs | [116,943, 234, 38793] |
ライブラリに梱包しているファンクション
名前空間は "SimpleJSON" で作成しています
- Deserialize : JSONをDictionaryに変換します
- GetAryData : JSONの配列から要素を取り出します
- CharSearch : バイト配列の中からCharctorを検索します
- Get : DictionaryのKeyを指定してValueを取得します
使用例
使い方はSimpleJSONライブラリ使用例で解説しています
よくある質問
配列(Array)に対応していますか?
対応しています。配列全体を文字列として保持します。
オブジェクトのネストに対応していますか?
対応しています。Keyをドット区切りで管理します。
AWS MQTTで利用できますか?
利用できます。MQTTで受信したJSONデータの解析に適しています。
ライブラリの特徴
- JSONをDictionaryへ変換
- ネストしたオブジェクト対応
- Key指定でValue取得
- Sysmac Studio対応
- MQTT通信データ解析に利用可能
- 無償公開
ダウンロード
このサイトが役に立ったと感じたら、ご支援いただけると嬉しいです
