我有這樣的數據:如何從List [Map [String,String]]中提取值?
val data = List(Map(event_id -> ABC, event_name -> visited, timestamp -> 1478187513, member_id -> 111, category -> web, field1 -> abc),
Map(event_id -> DEF, event_name -> added, timestamp -> 1478187520, member_id -> 111),
Map(event_id -> ABC, event_name -> visited, timestamp -> 1478187522, member_id -> 111, category -> web, field1 -> abc),
Map(event_id -> ABC, event_name -> visited, timestamp -> 1478187618, member_id -> 111, category -> web, field1 -> abc))
我如何可以提取member_id
並從中field1
?問題是member_id
存在於所有條目中,而field1
- 不是。
我想這一點,但它並沒有編譯說Type mismatch: expected String, actual Int
:
val member_id = data.flatMap(_.lift(0)).getOrElse("member_id", "")
如果'field1'不存在,你想怎麼做?返回類型是'Seq [(String,Option [String])]'你想要什麼? – mdm
@mdm:不,我需要兩個String值作爲返回:'member_id'和'field1',如果沒有'field1',可以是一個空字符串(「」)。 – Dinosaurius
但你可以有'member_id'多個條目,對吧?這是一個List [Map []]'。 – mdm