6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

C言語でJSONを扱う。

Last updated at Posted at 2018-12-26

はじめに

C言語にもJSONパーサで色んな実装があるけど、自分で作りました。

コンセプト

C言語にリフレクション機能を持たせて、変数とJSON文字列を直接変換できるようにしたところです。

イメージは、、、

struct(バイナリ) <--> JSON(文字列)

こんな感じです。

パースするときにmallocも使っていないので、

メモリー領域に厳しいIoT関係に対応しました。

使い方

 構造体情報を「refrection.c」「refrection.h」に書くだけ!

あとは変数とJSONデータを用意して

JSON→変数に変換するのは、json_deserialize()関数

変数→JSONに変換するのは、json_serialize()関数

これだけ覚えておけばよいです。

#あとがき
構造体の中の構造体で配列型などにも対応していて、複雑な構造でも一通り対応できてると思います。

もし何かあればコメントください。

6
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?