2つの異なる出力にbsonfileを変換する

2つの異なる出力にbsonfileを変換する

いくつかのbsonファイルをいくつかのjsonファイルに変換したいと思います。 bsondump関数を使用してこれを行います。

bsondump exemple.bson > example.json

以前のバージョンのbsondump 2.4.9(mongodbのバージョンによって異なります)では、次の形式の正しい出力が得られました。効果的なJSONファイル(実際にはキーと値のペアを含む辞書)が時々システムをアップグレードする予定です。今はmongodb 2.6.3です。それは私の出力に影響します...辞書の値のいくつかが数値である場合、数値に次の形式で追加を追加するたびに:

"key": NumberLong(1234567)

私にとっては、単純な形式で出力することが重要です。

"key": 1234567

PythonコードでJSONファイルをインポートしたいからです。 Pythonコードでは、Pandasを使用してJSONをDataFrameに変換します。このために私は使用します

pandas.read_json("example.json")

関数を使用すると、有効なJSON文字列を見つけることができるため、エラーメッセージが表示されます。 PandasからJSONを直接読みたいので、有効なJSON形式が必要です。私の質問は、バージョン2.6.3のアップグレード後に直接有効なJSON形式を取得する方法です。現在、各行の「NumberLong」を削除するコードを作成していますが、私のファイルには多くの行があり、タイミングの問題です。新しいバージョンのMongoDBを使用して有効なJSON形式を取得するには?

答え1

bsonバイナリJSONではなくバイナリです。拡大するjson。したがって、適切なアプローチは、拡張jsonパーサーを使用して追加情報を理解して正しく処理することです。

一方、人々はjsonとの非互換性が問題を引き起こす可能性があることを知っています。追加情報の廃止提案そして、jsonを解釈するプログラミング言語がそれを処理するようにしてください(可能であることを願っています)。

バージョン2.6.3の他の利点が何であるかよくわかりませんbsondump。以前の(次の)バージョンを新しいインストールにコピーできます。または、使用する価値のあるアドインがある場合は、新しいバージョンをパッチしてコンパイルできます。

関連情報