RESTでMySQLを操作する

ESP32でJSONをパースする


ESP32の公式開発環境(ESP-IDF)には、JSONコンポーネントが含まれていますが、資料がこ れしかありません。
そこで、JSONコンポーネントの動作を確認するために、サンプルコードをこちらで公開しています。

何とかJSONコンポーネントの使い方が分かったので、
ESP32を使ってJSON ServerからJSONフォーマットのデータを受信して解析してみました。
JSON Serverから読み込んだリスト構造が正しく解析できています。
JSONコンポーネントではIntegerもFloatもDoubleも全てType=Numberとして扱われます。
[
  {
    "id": 1,
    "title": "JSON ServerでダミーAPIを作成",
    "time": 1351824120,
    "data": [
      1,
      2,
      3
    ]
  },
  {
    "id": 2,
    "title": "Vue.jsで基本機能を実装",
    "time": 1351824240,
    "data": [
      1.11,
      2.22
    ]
  }
]
I (5273) JSON: Deserialize.....
I (5273) JSON: [id]
I (5273) JSON: int=1 double=1.000000
I (5283) JSON: [title]
I (5283) JSON: JSON ServerでダミーAPIを作成
I (5293) JSON: [time]
I (5293) JSON: int=1351824120 double=1351824120.000000
I (5303) JSON: [data]
I (5303) JSON: int=1 double=1.000000
I (5303) JSON: int=2 double=2.000000
I (5313) JSON: int=3 double=3.000000
I (5313) JSON: [id]
I (5313) JSON: int=2 double=2.000000
I (5323) JSON: [title]
I (5323) JSON: Vue.jsで基本機能を実装
I (5333) JSON: [time]
I (5333) JSON: int=1351824240 double=1351824240.000000
I (5343) JSON: [data]
I (5343) JSON: int=1 double=1.110000
I (5343) JSON: int=2 double=2.220000

非リスト構造も正しく解析できています。
{
  "id": 2,
  "title": "Vue.jsで基本機能を実装",
  "time": 1351824240,
  "data": [
    1.11,
    2.22
  ]
}
I (7557) JSON: Deserialize.....
I (7567) JSON: [id]
I (7567) JSON: int=2 double=2.000000
I (7567) JSON: [title]
I (7577) JSON: Vue.jsで基本機能を実装
I (7577) JSON: [time]
I (7577) JSON: int=1351824240 double=1351824240.000000
I (7587) JSON: [data]
I (7587) JSON: int=1 double=1.110000

続く...