2016-08-23 5 views
-1

Моя карта, как показано ниже:Как преобразовать карту в Json в Scala

Map(
Columbus Herzog -> 
Map(
0 -> Map(source -> Las Cruces Crawford Arpt (LRU), amount -> 5000.0, points -> 500, date_time -> Sat Feb 13 02:18:14 IST 2016, class -> First, destination -> San Luis Arpt (IPI)), 
1 -> Map(source -> Las Cruces Crawford Arpt (LRU), amount -> 5000.0, points -> 500, date_time -> Fri Jul 22 01:52:19 IST 2016, class -> First, destination -> San Luis Arpt (IPI)), 
2 -> Map(source -> Las Cruces Crawford Arpt (LRU), amount -> 5000.0, points -> 500, date_time -> Wed Jan 06 06:24:50 IST 2016, class -> First, destination -> San Luis Arpt (IPI)), 
3 -> Map(source -> Las Cruces Crawford Arpt (LRU), amount -> 5000.0, points -> 500, date_time -> Tue May 17 17:12:16 IST 2016, class -> First, destination -> San Luis Arpt (IPI)) 
) 
) 

Я хочу JSON массив вроде как ниже:

{"Columbus Herzog": 
[{"source":"Las Cruces Crawford Arpt (LRU)","amount":"5000.0","points":"500","date_time":"Sat Feb 13 02:18:14 IST 2016","class":"First","destination":"San Luis Arpt (IPI)"}], 
[{"source":"Las Cruces Crawford Arpt (LRU)","amount":"5000.0","points":"500","date_time":"Fri Jul 22 01:52:19 IST 2016","class":"First","destination":"San Luis Arpt (IPI)"}], 
[{"source":"Las Cruces Crawford Arpt (LRU)","amount":"5000.0","points":"500","date_time":"Wed Jan 06 06:24:50 IST 2016","class":"First","destination":"San Luis Arpt (IPI)"}], 
[{"source":"Las Cruces Crawford Arpt (LRU)","amount":"5000.0","points":"500","date_time":"Tue May 17 17:12:16 IST 2016","class":"First","destination":"San Luis Arpt (IPI)"}] 
} 

Пожалуйста консультации по нему.

Заранее спасибо.

+0

Это [thread] (http://stackoverflow.com/questions/14467689/scala-to-json-in-play-framework-2-1) может помочь вам разобраться в JSON –

ответ

1

насчет net.liftweb.json.DefaultFormats

import net.liftweb.json.JsonAST 
import net.liftweb.json.JsonDSL._ 
import net.liftweb.json.Printer.{compact,pretty} 

object LiftJsonWithCollections extends App { 

    val json = List(1, 2, 3) 
    println(compact(JsonAST.render(json))) 

    val map = Map("1" -> "one", "2" -> "two") 
    println(compact(JsonAST.render(map))) 
} 

и выход:

[1,2,3] 
{"1":"one","2":"two"} 

Просто замените содержание Map владеть.

+0

Я пробовал с этим, но «разложить» дать ошибку, как не найденную. –

+0

@Chetan Nakum проверить сообщение (обновлено) – pacman

+0

@ChetanNakum, этот пример использует [lift-json] (https://github.com/lift/lift/tree/master/framework/lift-base/lift-json) внешняя библиотека. Просто убедитесь, что вы добавили его в свою сборку. – virsox