PAGMOへjsonの実装

C用ライブラリの入手
http://oss.metaparadigm.com/json-c/
json-c-0.7.tar.gzを利用
c++上でのコンパイルで利用

解凍してライブラリをコピー
/usr/local/libにlibjson.soとかがコピーされる

 # ./configure
 # make
 # make install

ヘッダを見たらc++の場合extern"C"が入るようになっていたのでそのままinclude

 #include "json.h"

データ構造体ポインタを用意してそこに適当なJSON構文をパースして挿入
パースした結果をテキストに変換して出力、オブジェクトを削除

  json_object *jobj;
  jobj = json_tokener_parse("[\"abc\",123,\"def\",456]");
  printf("json=%s\n", json_object_to_json_string(jobj));
  json_object_put(jobj);

MakeFileにライブラリのリンクを忘れてだいぶワタワタしました・・・

  g++ -o hoge -L/usr/local/lib -ljson

これでコンパイルが成功

  json=[ "abc", 123, "def", 456 ]

こんなのが表示されて成功。

json_tokener_parse_exのパーサーソースが結構見てて楽しい感じです。