2018年1月14日日曜日

An installation of Jansson 2.10

jsonをC言語プログラムで扱いたく、、、

色々調べたけど、Janssonを使う事に

1.インストール

まずは、こちらのURLのReleasesのDocumentationをクリック
現れたページのGetting Startedの通りにインストールする
それで、準備完了
追記:Raspberry Piで、curlモジュール使うとき
sudo apt-get install libcurl4-openssl-dev

2.テスト

以下のデータをファイルに保存して、そのファイルを読んでパースをするプログラムで稼働確認

・データ(tst1.json)
{
"RdcsId":"rcmp-r41",
"Status":1,
"NetIdLocal":"kk",
"Agent":null,
"Category":"4WD",
"PlatformRbt":null,
"NowRole":"tk001",
"OsVersion":"4957-v7#1047",
"Role": {
"Execute": "tk001",
"LoadId": [
"tk001", "tk0201", "mv0459"
],
"Status": "Safe"
}
}

・プログラム(ファイル名:tst1.c)

余分な部分は、お許しを、、、

#include <stdio.h>
#include <jansson.h>

int main( int argc, char *argv[] ){

json_error_t error;
json_t   *infl;
json_t   *string;

infl = json_load_file(argv[1], 0, &error);

if(NULL != infl) {
string = json_object_get(infl, argv[2]);
if(NULL != string) {
if( json_is_string(string)) {
printf("%s:%s\n", argv[2], json_string_value(string));
}else {
printf("error1\n");
}
}else{
printf("error2\n");
}
}else{
printf("file open error:%s\n", argv[1]);
}

json_decref(string);

json_decref(infl);

return 0;

}

・build

gcc tst1.c -o tst -ljansson

・excute

./tst1 tst1.json Category

Category:4WD

Peace!!

0 件のコメント:

コメントを投稿