Отправить JSON данных из JavaScript сервлету - PullRequest
0 голосов
/ 18 июня 2020

... У меня возникла аномалия, и я не понимаю, почему. Сценарий выглядит следующим образом:

1. - Из JSP, используя JS, я отправляю данные в формате JSON сервлету.

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

2.- I захватить данные с помощью утилиты getParameter в переменной типа String.

3. - Я передаю переменную утилите JSONObject, и она не обрабатывает ее, так как есть два "" ( два двойные кавычки ) в этой переменной, и отладка класса (JSONObject) вызывает исключение, потому что первый символ строки не является «{» ... что логично.

4. - Теперь, если я возьму весь поток и вставлю его в вызов:

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

Он обрабатывает его правильно, и я получаю объект со связанными с ним свойствами и значениями.

Я считал, что JSON формат, который я отправляю из JS, недействителен ???. Но я не могу найти причину, почему ???

Проблема в том, что я не понимаю, почему появляются две двойные кавычки.

Если вы можете помочь мне с этим,

большое спасибо !!!

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Очень признателен за ваши быстрые ответы.

Я обнаружил проблему в коде js, который я делал JSON .stringify () . Я удаляю его, и все в порядке.

Мне просто нужно переосмыслить, как отправлять, из js, пакет JSON форматированных записей.

Непонятно, как JSONObject обрабатывает полученную строку.

Думаю, мне придется переосмыслить массив из JSON объектов, а затем отправить его. Возможно, получив тип объекта массива, он поймет, что это пакет записей.

Еще раз спасибо

0 голосов
/ 18 июня 2020

используйте двойные кавычки: " вместо одинарных: ' и используйте \ перед каждой двойной кавычкой, чтобы избежать символов.

Например:

JSONObject obj = new JSONObject ("{\"ORDER\": \"1\",\"DATE\": \"06-01-2018\",\"TIME\": \"07: 06: 51\",\"BOUCHER\": \"208896.0\",\"LIC\": \"HSGR30\",\"QTY\": \"0.0\"}"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...