Janssonとは
janssonとはc言語で使えるJSONパーサのことで,
JSONテキストをC言語で読み込むことができます.
JSONテキストを読み込む
例えば、以下のようJSONテキスト、
{
"Name" : "okura",
"age" : 10
}
を読み込みたいときは、
json_t json_object;
json_error_t jerror;
json_object = json_load_file(/path/to/sample.json,0,&jerror);
とすると json_object
に sample.json
の内容が読み込まれます.
-
json_t
という型は,JSONの任意の値を表現するために使います. -
json_object
はJSONを格納するための変数です. -
json_error_t jerror
は,エラーが起こったときに内容を返してくれる構造体です.jerror.text
にエラーメッセージが格納されます.
json_t *json_load_file(const char *path, size_t flags, json_error_t *error)
は,JSONテキストファイルを読み込みます.
第2引数の flag
はデータをエンコードする方法を制御する変数らしいですが,よくわかりません.デフォルト値は0.
JSONテキストの要素を取り出す
例えば,NAME
要素を,char型で取り出すには,
char name[256];
strcpy(name, json_string_value(json_object_get(json_object, "NAME");
とします.
json_t *json_object_get(const json_t *object, const char *key)
は,JSONオブジェクト(ここでは,json_object
)のの中で key
の要素を取り出します.
const char *json_string_value(const json_t *string)
は,JSONオブジェクトの文字列要素の値を返します.
まとめ
Janssonの簡単な使い方を紹介しました.
主に自分用で,Janssonの機能を網羅しているわけではありません.
これ以外にも豊富な機能を提供しています.
詳しくは公式のAPIリファレンスを参照してください.
また,間違っている点などがあればご指摘ください.