2012-09-07 97 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編碼字符串。你將如何處理可能篡改此令牌價值的人並向您發回惡意? –