2015-04-02 120 views
0

我有n個對象,其屬性使用REST協議發送到前端。那裏的對象被作爲XML文件引入,然後使用JSON.parser解析爲JSON。現在我的目標是在磁盤上保存這個JSON文件一段指定的時間。我嘗試序列化對象並存儲它,但它以二進制/十六進制格式存儲。我需要它是以xml或JSON格式。 任何人都可以幫助我嗎? 前端使用JavaScript,後端使用Java。Object Sereialization,JAVA,Javascript

+0

這絕對是一個JS問題。由於後端Java已通過REST/http以XML格式發送消息,因此已將其封送到文本中。 – 2015-04-02 05:30:58

回答

0

爲什麼你需要在客戶端磁盤上保存JSON文件,這是不推薦的做法。而應該使用HTML5 web storage

+0

我試圖通過序列化對象將它保存在服務器端。但它的格式不可讀。我如何使它可讀? – 2015-04-02 05:43:21

+0

你想保存在服務器端還是客戶端?如果您打算在服務器端保存,那麼在JSON或XML上使用toString方法,並首先轉換爲字符串,然後保存到文件中。 – 2015-04-02 05:55:57

0

你使用JSON.simple嗎?如果是這樣,他們的頁面上有幾個例子可以將字符串轉換爲json並返回。在這種情況下,你已經有一個反序列化的對象,這樣你就只需要它序列化到一個字符串看到https://code.google.com/p/json-simple/wiki/DecodingExamples

,如果你有你的JSON對象作爲一個地圖,你可以

String jsonString = JSONValue.toJSONString(json); 

,或者如果它已經是一個JSONObject然後簡單地

String jsonString = json.toJSONString(); 

然後將jsonString寫入您的.json文件。

FileWriter file = new FileWriter("/path/to/file.json"); 
file.write(jsonString); 
file.flush(); 
file.close(); 

道歉,如果這不是你正在使用的庫。