我就調用JObject:如何將Map [String,Any]轉換爲Json?
jObject.values
,所以我得到地圖[字符串,任何]。我修改這張地圖並獲得Map [String,Any]的新實例。現在我不會實現的東西扭轉到「價值」的方法:我不會將我的地圖[字符串,任何]到JObject(或JSON字符串)
我就調用JObject:如何將Map [String,Any]轉換爲Json?
jObject.values
,所以我得到地圖[字符串,任何]。我修改這張地圖並獲得Map [String,Any]的新實例。現在我不會實現的東西扭轉到「價值」的方法:我不會將我的地圖[字符串,任何]到JObject(或JSON字符串)
這有點棘手,因爲通過調用.values
你失去了關聯的類型信息字段(因此爲什麼地圖的值類型是Any
)。
爲了獲得JObject
,您需要將List[JField]
傳遞給構造函數。因此,您需要將每個地圖條目((String, Any)
)轉換爲JField
。映射名字是微不足道的;挑戰是將Any
轉換爲JValue
。你可以做一些模式匹配或類型檢查(例如,如果值是一個Int
,將其轉換爲int幷包裝在JInt
中),但是與所有不完全模式匹配一樣,這將會很脆弱 - 你如何處理非原始文件以將它們包裝出來?
所以我建議在一般情況下,要做到這一點的最好辦法是不嘗試從.values
輸出做到這一點,但通過自己周圍的物體。一旦你失去了類型信息,很難確定,幾乎任何解決方案都必然涉及脆弱的猜測。
感謝您的回覆。瀏覽lift-json代碼我有同樣的結論,但是你的帖子向我保證 – user1511848 2012-07-09 12:32:39
你需要把你所嘗試做的..所以這將很容易幫助你! – Zamani 2012-07-09 11:46:32