2013-01-18 73 views
0

在我們的web應用程序有它運行的是創建的文檔一個servlet,PDF或Word,然後將其發送回作爲具有這種結構的JSON一個Tomcat 5.5服務器:錯誤到陣列中PHP

{ 
    "status": "OK", // or "ERROR" if an error occurred 
    "format": "application/pdf", // or "application/msword" if a Word document was generated 
    "document": [...] // document content 
} 

document關鍵是首先導出文件作爲byte[],然後調用它toString()創建。

整個json在servlet中使用this libraryhere進行管理,您可以看到一個響應示例。

但是,當調用tomcat服務器的PHP腳本接收到json字符串並通過json_decode()運行它時,它將返回NULL,就好像數據不是有效的json一樣。

我都做在這個算法我用什麼明顯的錯誤?或者,更一般地說,如何使用JSON正確傳輸二進制數據?

回答

0

回答我自己,因爲我找到了一個解決方案,即使我不確定什麼擺在首位造成它這個問題。

無論如何,我發現,如果我送它作爲JSON之前做base64編碼的二進制數據的,JSON對象得到妥善由PHP腳本解析,並做了的base64解碼成功地再現了原由servlet創建的文檔。