2015-04-02 51 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(); 

道歉,如果这不是你正在使用的库。