[英]Printing out MongoDB Documents in JSON Format
我正在從mongoDB數據庫中檢索文檔,但是我需要以JSON格式將其打印出來。 正如MongoKitten文檔所建議的那樣,我將所有相關信息存儲在一個數組中。 我想打印出數組中每個元素的全部內容,記住MongoDB中的文檔。 我的代碼如下:
import Foundation
import MongoKitten
let myDatabase = try MongoKitten.Database("mongodb://taylor:starwars1@ds129374.mlab.com:29374/taylorswiftengine")
let myCollection = myDatabase["my_collection"]
Request.addHandler(forMethod: "GET", withRoute: "/:resource/:id1")
{
(routeParams:RouteParams) in
let myTopics = try! myCollection.find("topic" == "\(routeParams["id1"]!)")
let allTopics = Array(myTopics)
}
MongoKitten帶有擴展的JSON模塊,您可以導入該模塊:
import ExtendedJSON
您可以使用makeExtendedJSON()
將文檔數組( [Document]
)轉換為Extended JSON:
myArrayOfDocuments.makeExtendedJSON()
這將返回一個Cheetah.Value
。 獵豹是OpenKittens JSON庫。 要獲取JSON字符串,可以在Cheetah.Value
上使用serializedString()
方法。
總結起來,使用它可以將您的BSON文檔數組轉換為JSON字符串:
myArrayOfDocuments.makeExtendedJSON().serializedString()
如果您的myTopics對象是字典,則可以將其轉換為json,如下所示:
let dict = ["key1": "B", "key2": "A", "key3": "C"]
let jsonData = try JSONSerialization.data(withJSONObject: dict, options: .prettyPrinted)
否則,您可以手動將myTopics對象轉換為[String:String]
字典,然后將其轉換為如上所述的json,但是我不確定這是否是處理mongodb對象的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.