我有一个中等复杂的JSON对象,存储为char *
,我想将其转换为BSON,使用c“driver”(http://api.mongodb.org/c/0.4/bson.html)将其输入mongodb。虽然我可以使用像cJSON这样的JSON解析器将对象拆分为其元素,然后使用bson_append_int( b, "count", 1001 );
之类的命令单独添加它们。我相信转换可以而且应该比那更简单(因为转换没有损失或收益),有没有人知道更好的方法呢?
我想我正在寻找类似于cpp BSONObj mongo::fromjson ( const string & str )
的东西,但我无法在文档中找到相关的c函数。
答案 0 :(得分:1)
我真的不熟悉C驱动程序,但也许这两个功能可能会有所帮助:
bson_init_from_json
bson_new_from_json
将JSON转换为BSON
bson_t *b;
bson_error_t error;
b = bson_new_from_json ("{\"a\":1}", -1, &error);
if (!b) {
printf ("Error: %s\n", error.message);
} else {
bson_destroy (b);
}