Frage

Ich habe ein mäßig komplexes JSON-Objekt, das als gespeichert ist char *, das ich in BSON konvertieren möchte, um es mit dem c "Treiber" in Mongodb einzugeben (http://api.mongodb.org/c/0.4/bson.html).Während ich einen JSON-Parser wie cJSON verwenden kann, um das Objekt in seine Elemente aufzuteilen und sie einzeln mit Befehlen wie hinzuzufügen bson_append_int( b, "count", 1001 );.Ich glaube, die Konvertierung könnte und sollte einfacher sein als das (da die Konvertierung keinen Verlust oder Gewinn mit sich bringt), kennt jemand einen besseren Weg, dies zu tun?

Ich denke, ich suche nach etwas Ähnlichem wie dem cpp BSONObj mongo::fromjson ( const string & str ) aber ich kann die relevante C-Funktion in den Dokumenten nicht finden.

War es hilfreich?

Lösung

Ich bin mit dem C-Treiber wirklich nicht so vertraut, aber vielleicht könnten diese beiden Funktionen helfen:

bson_init_aus_json
bson_neu von_json

Konvertieren von JSON in 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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top