[英]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.