4
5

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.

Janssonの使い方

Posted at

Janssonとは

janssonとはc言語で使えるJSONパーサのことで,
JSONテキストをC言語で読み込むことができます.

JSONテキストを読み込む

例えば、以下のようJSONテキスト、

sample.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_objectsample.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リファレンスを参照してください.

また,間違っている点などがあればご指摘ください.

4
5
0

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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?