无法解析JSON中的古吉拉特语文本

时间:2019-02-04 04:39:57

标签: java json web-services

我已经开发了一个在JBOSS-EAP上运行的Web服务。我有一个JSON,其中包含我无法解析的古吉拉特语。

在解析古吉拉特语字体时,输出中会出现问号。 我已经搜索过,发现我必须将编码更改为UTF-8,然后它才能工作。我不知道这是否是正确的解决方案,但是无论如何我都尝试了很多方法但都失败了。

//code for getting data from JSON
JSONObject obj = object.getJSONObject("data");
obj.optString("Name");

//changed web.xml
<?xml version="1.0" encoding="UTF-8"?>

//changed encoding by this
byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");

2 个答案:

答案 0 :(得分:0)

我正在使用spring-boot 2,我认为它与服务器无关,我们只需要将字符集添加为utf-8 我可以从Web服务获取古吉拉特语文字。

样品请求:

@RequestMapping(value = "/comment/locale", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE,
        consumes = MediaType.APPLICATION_JSON_VALUE)
public String addCommentInLocale(@RequestBody Map<String,String> comment) {
    return comment.get("guj");
}

卷曲请求:

curl -X POST \
  http://localhost:8080/comment/locale \
  -H 'Accept-Charset: utf-8' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
    "guj":"દુનિયા"
}'

显示请求和响应的示例图像:

ide

postman

答案 1 :(得分:0)

您需要做以下更改:也许对您有帮助

添加

request.setCharacterEncoding("UTF-8") 

致电

之前
getParameter()