BSON是一種二進制存儲格式,可用于在MongoDB中存儲和傳輸數據。它比JSON更緊湊,因此在處理大量數據時可以提高性能。但是,BSON格式對于人類可讀性較差,因此有時需要將其轉換為JSON格式。
例如,考慮以下BSON字符串: \x16\x00\x00\x00\x02foo\x00\x06\x00\x00\x00bar\x00\x00 使用json_util庫中的dumps函數可以將其轉換為JSON格式: from bson.json_util import dumps bson_str = '\x16\x00\x00\x00\x02foo\x00\x06\x00\x00\x00bar\x00\x00' json_str = dumps(bson_str) print(json_str) 輸出將是以下格式的JSON字符串: {"foo": "bar"}
json_util庫還提供了loads函數,用于將JSON字符串轉換為BSON格式:
from bson.json_util import loads json_str = '{"foo": "bar"}' bson_str = loads(json_str) print(bson_str) 輸出將是以下BSON字符串: \x16\x00\x00\x00\x02foo\x00\x06\x00\x00\x00bar\x00\x00
除了將BSON和JSON相互轉換外,json_util還提供一些其他有用的函數。例如,pymongo.cursor.Cursor中就有一個to_json函數,可以將查詢結果轉換為JSON格式:
from pymongo import MongoClient from bson.json_util import dumps client = MongoClient() db = client.my_database collection = db.my_collection cursor = collection.find() json_str = dumps(cursor) print(json_str)
使用上述代碼將查詢結果轉換為JSON字符串,方便在其他應用程序中使用。