簡體   English   中英

將 JSON 數據從 JavaScript 發送到 Servlet

[英]Send JSON Data From JavaScript to a Servlet

...我正在經歷一個我不明白為什么的異常。 場景如下:

1.- 從 JSP,使用 JS,我將 JSON 格式的數據發送到 servlet。

  JSON:  "{'ORDER': '1', 'DATE': '06-01-2018', 'TIME': '07:06:51', 'BOUCHER': '208896.0', 'LIC' : 'HSGR30', 'QTY': '0.0'} "

2.- 我使用 getParameter 實用程序在字符串類型變量上捕獲數據。

3.-我將變量傳遞給 JSONObject 實用程序,它沒有處理它,因為該變量中有兩個“”(兩個雙引號),調試 class(JSONObject)會引發異常,因為字符串的第一個字符不是“{”...這是合乎邏輯的。

4.- 現在,如果我將完整的 stream 粘貼到調用中:

JSONObject obj = new JSONObject ("{'ORDER': '1', 'DATE': '06-01-2018', 'TIME': '07:06:51', 'BOUCHER': '208896.0' , 'LIC': 'HSGR30', 'QTY': '0.0'} ") 

它正確處理它,我得到了 object 及其相關的屬性和值。

我在考慮我從 JS 發送的 JSON 格式無效???。 但是我找不到原因???

問題是我不明白為什么會出現兩個雙引號。

如果你能幫我解決這個問題,

非常感謝您 !!!

使用雙引號: "而不是單引號: '並在每個雙引號之前使用\來轉義字符。

例如:

JSONObject obj = new JSONObject ("{\"ORDER\": \"1\",\"DATE\": \"06-01-2018\",\"TIME\": \"07: 06: 51\",\"BOUCHER\": \"208896.0\",\"LIC\": \"HSGR30\",\"QTY\": \"0.0\"}"); 

非常感謝您的及時回復。

我發現了問題,在 js 代碼中我正在做JSON.stringify() 我刪除它,一切都很好。

我只需要重新考慮如何從 js 發送 package JSON 格式的記錄。

尚不清楚JSONObject如何處理它接收到的字符串。

我想我將不得不重新考慮一組 JSON 對象,然后發送它。 或許,通過接收數組 object 類型,就會明白這是一批記錄。

再次感謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM