본문 바로가기
개발 이야기/Python

Python_bson을 json으로 바꾸는 방법

by 농개 2019. 2. 14.
반응형

bson이란 Binary JSON의 약어로 Binary로 인코딩 된 JSON을 뜻한다.

MongoDB에서 document가 BSON 형태로 저장되고 

(마찬가지로 pymongo 같은 라이브러리로 document를 조회해보면 BSON으로 반환 된다.)





json으로 바꾸려면 bson.json_util을 사용하면 된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from pymongo import MongoClient
import traceback
from bson.json_util import dumps
 
host = 'localhost'
port = 27017
 
 
def main():
    try:
        client = MongoClient(
            host=host,
            port=port
            # replicaset=replica set
            # username=user
            # password=password
            # authSource=auth database
            # connect=True(default)
        )
        
        db = client['mydb'## db name
 
        print('MongoDB Connected.')
 
        cursor = db.member.find()
        print(dumps(list(cursor))) ## dumps 메소드 사용
 
    except Exception as e:
        print(traceback.format_exc())
    finally:
        client.close()
        print('MongoDB Closed.')
 
if __name__ == "__main__":
    main()
cs



결과화면 : 

1
2
3
MongoDB Connected.
[{"age"18.0"_id": {"$oid""5c2720a31e5aee87647b452a"}, "name""Jorge"}]
MongoDB Closed.
cs




반응형