Ich lerne scala und mongodb derzeit und mit dem Spiel! Rahmen, also mache ich alle möglichen Fehler, während ich mich um Dinge kümmere. Zur Zeit habe ich ein scala-Objekt, das eine Liste von Datenbankobjekten zurückgibt, die von einer mongodb-Anfrage über Casbah wie folgt zurückgegeben wurden:Wie zu konvertieren casbah mongodb list zu json in scala/play
object Alerts {
def list() : List[DBObject]= {
val collection = MongoDatabase.collection;
val query = MongoDBObject.empty
val order = MongoDBObject("Issue Time:" -> -1)
val list = collection.find(query).sort(order).toList
list
}
... }
An anderer Stelle in meinem Code möchte ich die Liste der Objekte in Json ausgeben - so habe ich;
val currentAlerts = Alerts.list()
Was ich schreiben möchte, ist etwas wie;
Aber wenn ich dies tue, bekomme ich verständlicherweise den folgenden Fehler;
value toJson is not a member of List[com.mongodb.casbah.Imports.DBObject]
Meine Frage ist - was ist der richtige Weg, um eine Liste der com.mongodb.casbah.Imports.DBObject in Json für die Ausgabe zu konvertieren?
EDIT:
Aus Gründen der Klarheit, was ich wirklich tun wollen ist das Äquivalent von
val listInJson = collection.find(query).sort(order).toJson
In der gleichen Weise, dass ich
val listAsString = collection.find(query).sort(order).toString
Haben Sie versucht, die 'Json.toJson() 'Funktion? (http://www.playframework.org/documentation/2.0.2/ScalaJson) –
Nun, warum müssen Sie wirklich die Daten als JSON konvertieren? Es wird als JSON in db gespeichert (naja, bson wirklich), brauchst du wirklich das gleiche zurück? Ich denke, dass Sie nur Daten in ein Objekt basierend auf Ihrer gewünschten Struktur kopieren und dann in JSON serialisieren möchten ... – aishwarya
Ich muss es als JSON für einen Webservice ausgeben ausgeben. – Roger