Pergunta

Eu tenho um objeto JSON moderadamente complexo, armazenado como um char *, que gostaria de converter para BSON para inseri-lo no mongodb usando o "driver" c (http://api.mongodb.org/c/0.4/bson.html).Embora eu possa usar um analisador JSON como cJSON para dividir o objeto em seus elementos e adicioná-los individualmente usando comandos como bson_append_int( b, "count", 1001 );.Acredito que a conversão poderia e deveria ser mais simples que isso (já que não há perda ou ganho na conversão), alguém conhece uma maneira melhor de fazer isso?

Acho que estou procurando algo semelhante ao cpp BSONObj mongo::fromjson ( const string & str ) mas não consigo encontrar a função c relevante nos documentos.

Foi útil?

Solução

Na verdade, não estou familiarizado com o driver C, mas talvez essas duas funções possam ajudar:

bson_init_from_json
bson_new_from_json

Convertendo JSON em 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top