psonongo에서 MongoDB 쿼리를 실행 한 후 bson 문서에서 json으로 변환하는 방법에 대한 많은 게시물을 보았습니다.bson 문서가 pongongo를 통해 MongoDB에서 가져 와서 json으로 변환 된 후 json 개체 필드에 액세스하는 중 오류가 발생했습니다.
내 경우에는 MuckoDB에 저장된 Cuckoo 분석 결과 문서를 얻습니다. 해당 bson 문서의 특정 필드에 액세스하여 인쇄 할 수 있습니다. 그러나 bson에서 json_util을 사용하여 json으로 변환 한 다음 동일한 필드에 액세스하려고하면 오류가 발생합니다. 객체를 사용하기 위해해야 할 일이 아직 남아 있습니까? 여기
코드입니다 :from pymongo import MongoClient
from bson.json_util import dumps, default
<...pymongo code for connecting to MongoDB server...>
result_cursor = analysis.find({"info.id": 1770}, {"behavior.summary": 1})
for doc in result_cursor:
print doc["behavior"]
doc_json = dumps(doc, default=default)
print doc_json["behavior"]
위의 코드에서, 첫 번째 인쇄는 잘 작동하지만 난 그렇지 사전 목록으로 개체를보고 생각하기 때문에 마지막 하나는 예외를 트리거 :
{u'summary': {u'files': .....}}
Traceback (most recent call last): File "C:/Users/itisnobody/PycharmProjects/mongo-cuckoo/mongodb-cuckoo.py", line 42, in print doc_json["behavior"] TypeError: string indices must be integers, not str
개체의 클래스 이름을 가져올 때 doc 개체는 dict이고 doc_json 개체는 str입니다. 이게 왜 그렇게? – ykorkmaz