2012-09-07 87 views
0

我正在尝试将Java Spring与Backbone.js结合使用。我在后端执行搜索,并从该对象接收一个令牌以及一个字符串。我想返回该字符串和该对象,因为我想要该对象持久(我需要稍后使用它)。在Spring中返回byte []和字符串

我想到的一个想法是序列化对象,然后将得到的字节[]并将其更改为字符串,然后将其与我的其他数据(可能在json对象中)一起返回。然后,我能够通过将该字符串更改为一个字节[]来将该字符串转换回该对象,否则将无法工作,因为它只是将该字符串转换为该字符串的byte []表示形式,而不是对象?

如果是这样,那我该如何使用Spring来返回JSON对象和byte []?

感谢

+0

这个对象是如何从byte []中解析出来的,它是什么对象?可以通过发送一个字符串将任何Java对象注入到您的应用程序中吗? – Bergi

回答

0

您可以只用谷歌搜索“Spring MVC的教程JSON”找到大量关于如何归还从Spring MVC应用JSON编码的数据教程。

如果您打算在JavaScript应用程序中使用这些数据,那么从您的Java应用程序返回编码为由Java序列化生成的字节数组的数据听起来不是一个好主意。如何在非Java环境中反序列化Java序列化的字节流?只需坚持跨平台的跨语言编码,如JSON。

+0

因此,目前我打java后端调用,我需要使某个对象持久存在,因为我需要将它用于未来的后端调用。所以我从前端得到一个搜索请求,执行相应的API调用,获取这个对象和一组结果,我需要将它们都发送回去,因为我需要这个对象用于将来的搜索请求 - 我需要让它持续超越java程序的作用域 – praks5432

+0

所以你想传递一个字节编码为字符串的byte [],客户端必须在随后的请求中传递给服务器?我不确定这会是什么意思 - 为什么不只是返回某种可以映射回应用程序中的对象的ID?这听起来更容易 - 而且通过网络传输的数据更少 - 比必须像令牌一样传递的大型base64编码字符串。你将如何处理可能篡改此令牌价值的人并向您发回恶意? –