2015-09-25 64 views
2

我有填入文檔類似下面的數據庫:發現查詢結果中列出

{ 
    "_id" : ObjectId("56zeffb2abcf7ff24b46"), 
    "id_thing" : -1, 
    "data" : { 
     "info1" : 36.0709427, 
     "date" : ISODate('2005-11-01T00:33:21.987+07:00'), 
     "info2" : 24563.87148077 
    } 
} 

find方法返回一個List這是我在操作一些操作:

for (d <- result_of_find_method_here) 
{ 
    val l_d = d("data") 
} 

但我會如l_d a List目前沒有,並且toList方法不起作用。

如何檢索所有字段及其data容器的值作爲列表?

編輯:

我都試過,因爲既不適用於AnyRef這是我所得到的,當我通過l_d迭代與foreach環多種方法,並沒有工作。

+1

你是從DB獲得只是普通的JSON字符串,或者它包裹成播放JsValue或其他什麼東西? –

+0

這是純json字符串。 – wipman

+0

嘗試將其解析爲Play Json。 http://stackoverflow.com/questions/30884841/converting-json-string-to-a-json-object-in-scala –

回答

2

查找方法返回一個列表,因爲有更多的對象返回。 l_d不是一個列表,因爲d['data']不是一個列表是一個關鍵值存儲:一個字典,JSON或斯卡拉地圖。問題是你想如何表示這些數據? 也許你想從列表中取出地圖中的值。

您可以將地圖使用列出:l_d.toList或地圖值列表:l_d.values.toList

+0

是的,那是我想要做的?你知不知道怎麼? – wipman

+0

嘗試'l_d.toList'和'l_d.values.toList' – sergiuz