もちろん、
double pw = doc.info.pw;
のような形でアクセスできればCODINGもラクですが、
structやらclassやらを専用に準備してなきゃできないわけで、
動的には無理なわけです。
ということで、いろんなパーサとかを見てまわったのですが、
なかなかイイ感じのものがない。
『どうする?』 →つくりましょう!
『だれがやる?』 →私でしょう!
『いつやるか?』 →今でしょう!
ということで、つくりました。
といっても、上記のようにはできるわけもなく、ここはPHP方式でやります。
即ち、
double pw = doc.info.pw;
ではなく、
double pw = D["doc"]["info"]["pw"];
って形です。
STEP1
STEP1は、当然ながら、object型みたいなものを定義するところから始まります。
クラスでも構造体でもかまいませんが(C++において、classとSTRUCTはほとんど同じ)、
DOM的に、親、子、兄、弟を参照するポインタをもつobjectを定義すればいいのです。
さらに、このOBJECTを生成するようなコンテナもあったほうが、あとあと便利なので、そこからつくります。
即ち、
objectContainer C; objson& o = *C.createObjectJson(); o["doc"]["info"]["pw"] = 297.0;みたいな使い方です。
こうしておけば、Cのデストラクタで、createされたobjectをキレイに破棄できますよね。
。。つづく。。
★
0 件のコメント:
コメントを投稿