2015-07-21 47 views
3

您好我是python編程新手。在這裏我使用轉儲從我的mongodb獲取輸出。但是我在PostMan中出現格式錯誤的JSON字符串錯誤。使用python創建適當的JSON字符串

我的代碼是:

cursor = db.Details.find() 
    for document in (yield cursor.to_list(length=100)): 
     self.write(bson.json_util.dumps(document)) 

我的輸出是:

{"Name": "Will","_id": {"$oid": "55a8f075a382c32392b75bad"}} 
{"Name": "Alex", "_id": {"$oid": "55acc2205d8882ef8a667d34"}} 
{"data": null, "status": "success"} 

如何我希望我的輸出是:

{"data": [ 
    {"Name": "Will","_id": {"$oid": "55a8f075a382c32392b75bad"}}, 
    {"Name": "Alex", "_id": {"$oid": "55acc2205d8882ef8a667d34"}} 
], "status": "success"} 

請幫助我。

在此先感謝

從郵遞員 enter image description here

+0

又見http://stackoverflow.com/questions/31514500/ –

回答

2

我的輸出截圖怎麼樣,你先救一切都在一個列表,然後轉儲列表json

data = [] 
cursor = db.Details.find() 
    for document in (yield cursor.to_list(length=100)): 
     data.append(document) 

self.write(bson.json_util.dumps({"data": data}))  

編輯: 用於獲取success變量像你期望的輸出,你可以嘗試

data = [] 
status = "" 

cursor = db.Details.find() 
    for document in (yield cursor.to_list(length=100)): 
     if 'status' in document: # check if key 'status' in document 
      status = document[status] 
     else: 
      data.append(document) 

self.write(bson.json_util.dumps({"data": data, "status": status})) 
+0

好運。但你得到我的投票。幾天以來,不同的人都試圖告訴OP同樣的事情。在最後一個字典中添加一個「成功」鍵和值,它應該完全反映所要求的內容。 –

+0

好的...?我只注意到'成功'鍵在我的輸出中丟失了:) @ [tony-roczz](http://stackoverflow.com/users/5039470/tony-roczz)這是否適合您? – adrianus

+0

@adrianus感謝您的幫助。我的輸出是所需的。但是我另外獲得了這個'{「status」:「success」,「data」:null}'。無論如何要解決這個問題 –