2013-03-21 4 views
2
val json = JsObject(Seq(
     "type" -> toJson("filter"), 
     "params" -> toJson(fP.parseToJson()) 
    )).toString() 

fP.parseToJson() создает строку json, которая используется в других местах в коде.Воспроизведение JSON: как правильно использовать строку json

я получаю это:

{ 
    type: "filter", 
    params: "{"searchId":"","client":"ios","lat":40.743894995835525,"lon":-74.00080404533901,"radius":20.0}" 
} 

Я хочу получить:

{ 
    type: "filter", 
    params: { 
    "searchId":"", 
    "client":"ios", 
    "lat":40.743894995835525, 
    "lon":-74.00080404533901, 
    "radius":20.0 
    } 
} 

В конечном счете, вопрос: Есть ли способ, чтобы взять строку, которая уже JSON и использовать его в качестве объекта JSon в ответ json?

+0

В чем разница между этими двумя фрагментами JSON, отличными от второго, довольно печатная? –

+0

@HotLicks - Цитаты. В первом случае 'params' - это строка, содержащая данные JSON. Во-вторых, это структура данных. –

ответ

2

Json.parse позаботится об этом, по-видимому.

val json = JsObject(Seq(
    "type" -> toJson("filter"), 
    "params" -> Json.parse(fP.parseToJson()) 
)).toString()