はじめに
C言語にもJSONパーサで色んな実装があるけど、自分で作りました。
コンセプト
C言語にリフレクション機能を持たせて、変数とJSON文字列を直接変換できるようにしたところです。
イメージは、、、
struct(バイナリ) <--> JSON(文字列)
こんな感じです。
パースするときにmallocも使っていないので、
メモリー領域に厳しいIoT関係に対応しました。
使い方
構造体情報を「refrection.c」「refrection.h」に書くだけ!
あとは変数とJSONデータを用意して
JSON→変数に変換するのは、json_deserialize()関数
変数→JSONに変換するのは、json_serialize()関数
これだけ覚えておけばよいです。
#あとがき
構造体の中の構造体で配列型などにも対応していて、複雑な構造でも一通り対応できてると思います。
もし何かあればコメントください。