Pregunta

Tengo un objeto JSON moderadamente complejo, almacenado como un char *, que me gustaría convertir a BSON para ingresarlo en mongodb usando el "controlador" c (http://api.mongodb.org/c/0.4/bson.html).Si bien puedo usar un analizador JSON como cJSON para dividir el objeto en sus elementos y agregarlos individualmente usando comandos como bson_append_int( b, "count", 1001 );.Creo que la conversión podría y debería ser más simple que eso (ya que no hay pérdida ni ganancia con la conversión), ¿alguien conoce una mejor manera de hacerlo?

Creo que estoy buscando algo similar al cpp. BSONObj mongo::fromjson ( const string & str ) pero no puedo encontrar la función c relevante en los documentos.

¿Fue útil?

Solución

Realmente no estoy muy familiarizado con el controlador C, pero quizás estas dos funciones puedan ayudar:

bson_init_from_json
bson_new_from_json

Convertir JSON a 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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top