【发布时间】:2020-07-21 02:20:16
【问题描述】:
我正在处理将 JSON 数据发送到 Web 服务的旧版 Web 服务客户端代码。最近发现,对于JSON body中的一些请求,由于JSON Body中的无效字符(非UTF8),服务给出了HTTP 400响应。
以下是导致问题的数据示例。
String value = "zu3z5eq tô‰U\f‹Á‹€z";
我正在使用org.json.JSONObject.toString() 方法来生成 JSON 字符串。请告诉我如何确保 JSON 字符串是 UTF-8 编码的?
我已经尝试了一些在线解决方案,例如转换为字节数组然后返回,使用 java charset 方法等,但它们不起作用。它们要么像中文/日文字符一样转换有效值,要么根本不起作用。
您能否就此提供一些意见?
【问题讨论】:
-
您使用的是什么 JSON 库?您如何将请求发送到服务器?
-
org.json.JSONObject
-
String value实际上是如何分配的? "zu3z5eq tô‰U\f‹Á‹€z"` 不是 JSON,所以我认为它不是来自 JSONObject.toString。 -
这只是一个样本数据,它是 json 的一部分。不是实际的 json
-
数据正在从前端应用程序输入。