JSON到BSON的转换,mongodb c

时间:2014-07-29 09:46:10

标签: c json mongodb bson

我有一个中等复杂的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函数。

1 个答案:

答案 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);
}

http://mongoc.org/libbson/current/json.html