2013-03-21 62 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片段之間的區別是什麼,除了第二個是漂亮打印? – 2013-03-21 18:24:45

+0

@HotLicks - 行情。在第一種情況下,'params'是一個包含JSON數據的字符串。第二,這是一個數據結構。 – 2013-03-21 18:35:01

回答

2

Json.parse顯然會照顧它。

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