Проблема декодирования UTF 8 для строки json (с использованием gson)

1

У меня есть метод контроллера Spring, который возвращает строку json с помощью Google.Gson. Проблема в том, что моя строка json содержит содержимое UTF-8, и когда я получаю URL-адрес от браузера, он показывает данные в кодированном формате.

@ResponseBody
@RequestMapping(value="/getLocations.json", method = RequestMethod.GET)
public String getLocations(HttpServletRequest request,HttpServletResponse response)throws Exception {
   Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().serializeNulls().create();
    response.setContentType("application/json; charset=utf-8");
    Set<Locations> locs = channelService.getLocations();
    String json = gson.toJson(locs);        
    return json;
}

Когда я получаю доступ к getLocations.json из адресной строки браузера ниже, я получаю:

[{"id":1,"name":"\u0026#3248;\u0026#3262;\u0026#3255;\u0026#3277;\u0026#3231;\u0026#3277;\u0026#3248;\u0026#3264;\u0026#3247;"},{"id":2,"name":"Districts"}]

Любая идея, где я собираюсь? Или как я могу декодировать данные обратно?

  • 0
    попробуйте удалить charset=utf-8
  • 0
    @ ankur-singhal, все так же
Теги:
spring-mvc
gson
utf-8

1 ответ

0

попробуй это

var uri = "http://w3schools.com/my test.asp?name=ståle&car=saab";
var uri_enc = encodeURIComponent(uri);
var uri_dec = decodeURIComponent(uri_enc);
var res = uri_enc + "<br>" + uri_dec; 


http%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab     // Encoded URI
http://w3schools.com/my test.asp?name=ståle&car=saab                            // Decoded URI

после декодирования попытайтесь разобрать json

var json = '{"result":true,"count":1}',
    obj = JSON.parse(json);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню