ここでの基本的な目標は、配列サブドキュメントなどの文字列形式の json を読み取ることであり {key:"value", boolkey, true, {subkey: value}, array: [x,y,z] }
、append_int、append_bool などすべてのジャズを処理することは気にしません。
便利な C++ BSONObj、mongo::fromjson BSONObjBuilder を使用して最終的に C bson_t を出力する方法。
すなわち。どちらかの線に沿って
mongo::BSONObj& query = mongo::fromjson ( szJSON );
bson_t bson = query.c_obj();
また
BSONObj Builder builder;
... (build, build, build)
BSONObj obj = builder.obj();
bson_t bson = obj.c_obj();
c++ が c ドライバー上に構築されていることを考えると、bson_t がどこかにあると考えるでしょう。