JSON alla conversione BSON, mongodb c
Domanda
Ho un oggetto JSON moderatamente complesso, memorizzato come char *
, che vorrei convertire in BSON per inserirlo in mongodb utilizzando il C "driver" ( http://api.mongodb.org/c/0.4/bson.html ).Mentre posso usare un parser JSON come CJSON per dividere l'oggetto nei suoi elementi e aggiungerli individuali utilizzando comandi come bson_append_int( b, "count", 1001 );
.Credo che la conversione possa e dovrebbe essere più semplice di quella (in quanto non vi è alcuna perdita o guadagno alla conversione), qualcuno sa di un modo migliore per farlo?
Penso che sto cercando qualcosa di simile al BSONObj mongo::fromjson ( const string & str )
di CPP ma non riesco a trovare la funzione CAVANT C nei documenti.
Soluzione
Non sono davvero così familiare con il driver C ma forse queste due funzioni potrebbero aiutare:
bson_init_from_json
bson_new_from_json
Converting JSON su 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);
}
.