我試着通過使用傑克遜JavaScript來的Java Servlet數組傳球達陣從JavaScript到Java Servlet的,這可怎麼done..thanks使用傑克遜
Q
使用傑克遜
0
A
回答
2
的基本思路應該是直截了當:
服務器:
doPost(HttpServletRequest req, HttpServletResponse resp)
{
ObjectMapper mapper = new ObjectMapper();
ArrayNode rootNode = mapper.readValue(req.getReader(), ArrayNode.class);
}
客戶:
使用jQuery(你也可以與其他框架做,或手動)。加載json2.js的副本以確保您有JSON.stringify。
jQuery.ajax({
type: 'POST',
url: servletURL,
data: JSON.stringify(jsArray),
dataType: 'json',
contentType: 'application/json'
});
0
對於傳遞數組從瀏覽器到服務器端,您不需要傑克遜。你只需要Ajax。例如,使用jQuery你可以這樣來做:
$.ajax({
url: 'your servlet url',
data: yourArray
});
然後在服務器端,您可能希望將JSON反序列化爲一個JavaBean,或者在你的情況下,使用傑克遜java.util.List
。你可以做到這一點是這樣的:
ObjectMapper mapper = new ObjectMapper();
List array = mapper.readValue(jsonText, List.class);
凡jsonText
包含從瀏覽器發送到服務器端的yourArray
String表示。
+0
您的客戶端代碼以查詢字符串格式發送數據,而不是JSON。 – 2010-08-08 08:40:06
相關問題
- 1. 使用傑克遜
- 2. 使用傑克遜
- 3. 使用傑克遜
- 4. 使用傑克遜
- 5. 傑克遜2.0傑克遜1.x的
- 6. 如何使用傑克遜
- 7. 無法使用傑克遜
- 8. 閱讀使用傑克遜
- 9. 使用傑克遜的java
- 10. 同時使用傑克遜
- 11. 如何使用傑克遜
- 12. 使用傑克遜ObjectWriter
- 13. 如何使用傑克遜
- 14. 傑克遜不使用setter
- 15. 無法使用傑克遜
- 16. 傑克遜
- 17. 傑克遜Deserialising:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:
- 18. 與傑克遜
- 19. 與傑克遜
- 20. 與傑克遜
- 21. 傑克遜UnrecognizedPropertyException
- 22. 與傑克遜
- 23. 與傑克遜
- 24. 傑克遜arraynode
- 25. 傑克遜ObjectMapper.readValue()
- 26. 與傑克遜
- 27. 與傑克遜
- 28. 傑克遜JsonSerializer
- 29. Java類傑克遜
- 30. 通過傑克遜
感謝matthew的回覆...即時通訊使用YUI 3,數組到達servlet和一切正常,但我需要從請求中獲取正確的參數。 我用req.getParameter(「myArray」)替換了req.getReader(),但仍然不能正常工作 – 2010-08-08 09:06:18
沒關係...它的工作我使用了req.getParameterValues(「myArray」),感謝幫助 – 2010-08-08 09:13:35
@Mohammed,如果你使用'getParameterValues',你可能不使用JSON。你很可能有一個常規的GET查詢字符串。 – 2010-08-08 09:20:52