Java JSONObject使用反斜杠反序列化时出错



我正在运行一个Java Servlet web服务器,它接收以下请求:

http://localhost: 8080/ForVen Recebimento/recebeDispositivo.jsp ?里={"dispositivo"[{"Id" 0,"DataMod":"2021 - 09 - 28 - t16:55:55.3528819 03:00","SeSincronizar": 0,"NrVersaoReg": 1,"DataSincronizacao":"2021 - 09 - 28 - t16:55:55.3538812 03:00","Guid":"BFEBFBFF000206A7","TipoDispositivo": 0,"URL":","VendedorId": 1}]}

当我发送它时,它给了我以下错误:

javax.servlet。ServletException: org.json.JSONException: {"dispositivo"; [{"Id":0,"DataMod";";2021-09-28T16:55:55.3528819-03:00";SeSincronizar"; 0,"NrVersaoReg"; 1,"DataSincronizacao";";;BFEBFBFF000206A7","TipoDispositivo"; 0,"URL";";; 3538812-03:00";]

如果我尝试发送相同的请求,但使用JSON "formatted",它可以工作。

http://localhost: 8080/ForVen Recebimento/recebeDispositivo.jsp ?里={"dispositivo"[{"Id" 0,"DataMod":"2021 - 09 - 28 - t16:55:55.3528819 03:00","SeSincronizar": 0,"NrVersaoReg": 1,"DataSincronizacao":"2021 - 09 - 28 - t16:55:55.3538812 03:00","Guid":"BFEBFBFF000206A7","TipoDispositivo": 0,"URL":","VendedorId": 1}]}

这是我反序列化JSON的方式:

JSONObject jso = new JSONObject(myIncomingJson);

我不知道它是否与一些Apache配置有关,但我希望如此,更改所有客户端请求将是非常痛苦的。

正如f1sh所说,我必须对URL上发送的JSON进行编码,我的错误是我没有看到它。:)

URL应该是这样:

http://192.168.1.58:8080 ForVen/Recebimento/recebeDispositivo.jsp ?里= % 7 b % 5 c % 22 dispositivo % 5 c % 3 22% % 5 b % 7 b % 5 c % 22 id % 5 c % 22% 3 a0 % 2 c % 5 c % 22 datamod % 5 c % 3 22% % 5 c % 222021 - 09 - 30 t09 % 3 a15 % 3 a37.4138271-03 % 3 a00 % 5 c % 22% 2 c % 5 c % 22 sesincronizar % 5 c % 22% 3 a0 % 2 c % 5 c % 22 nrversaoreg % 5 c % 22% 3 a1 % 2 c % 5 c % 22 datasincronizacao % 5 c % 3 22% % % 222021 - 09 - 30 - 5度t09 % 3 a15 % 3 a37.4148274-03 % 3 a00 % 5 c % 22% 2 c % 5 c % 22 guid % 5 c % 3 22% % 5 c % 22 bfebfbff000206a7 % 5 c % 22% 2 c % 5 c % 22 tipodispositivo % 5 c % 22% 3 a0 % 2 c % 5 c % 22 url % 5 c % 3 22% % 5 c % 22% 5 c % 22% 2 c % 5 c % 22 vendedorid % 5 c % 3 a1 % 7 22%D % 5 D % 7 D

最新更新