繁体   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