2016-08-26 153 views
0
無法打印使用GSON漂亮打印

我的代碼如下:JSON在斯卡拉

var json_val = (Json(DefaultFormats).write(map)) 

以上JSON值就像如下:

{"Tatyana Nader":[{"source":"Marseille Rail Station (XRF)","amount":"5000.0","points":"500","date_time":"Sun Dec 06 07:36:09 IST 2015","class":"First","destination":"Batna Arpt (BLJ)"}]} 

我需要打印的JSON數據美化JSON/Preety Json。

所以我用GSON爲如下:

var gson:Gson = null 
gson = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create() 
var jp: JsonParser = null 
var je: JsonElement = null 
je = jp.parse(json_val) 
var json: String = gson.toJson(json_val) 
var prettyJsonString: String = gson.toJson(je) 

我已經嘗試的時間很多的,但它每次都返回空指針異常。 請對此提出建議。

預先感謝您。

+1

在您所提供的代碼,您可以創建一個可變的變量'jp'初始化爲'null',但沒有被放在那裏。當你嘗試使用變量'jp'時,你會得到一個空指針異常。 –

回答

1

如果您正在使用Play Json

import play.api.libs.json.Json 

val jsonString = """{"Tatyana Nader":[{"source":"Marseille Rail Station (XRF)","amount":"5000.0","points":"500","date_time":"Sun Dec 06 07:36:09 IST 2015","class":"First","destination":"Batna Arpt (BLJ)"}]}""" 

Json.prettyPrint(Json.parse(jsonString)).toString