Исключение сопоставления Json: не удается создать экземпляр double из строки

#json #spring #spring-mvc

#json #spring #spring-mvc

Вопрос:

Я использую Spring framework для своего веб-приложения, и в настоящее время я использую MappingJacksonHttpMessageConverter в моем Dispatcher-Servlet.xml чтобы сопоставить данные . В моем приложении, когда пользователь вводит валюту, запятые сами присоединяются к значению. Конвертер Json не может выполнить синтаксический анализ строки с запятыми. В моем модальном классе валюта имеет тип данных double. Поэтому я хочу, чтобы конвертер Json игнорировал запятые и выдавал мне двойное значение на стороне сервера. Есть ли способ, которым мы можем это сделать.

пример.если я отправляю эти данные — {«price»: «1,234,555.76»}; Это выдает ошибку синтаксического анализа

он отлично работает, когда данные — {«price»: «1234555.76»}

Комментарии:

1. Является ли решение проблемы на стороне клиента также вариантом для вас?

2. Нет. Тогда мне придется внести множество изменений. я не готов это сделать

3. Вы пытались использовать аннотацию JsonDeserialize (в поле), реализующую пользовательский JsonDeserializer ?

4. ya. Это можно сделать. хотя я и не пробовал. но это также потребует много изменений в моем коде. Я искал способ настроить MappingJacksonHttpMessageConverter для приема строки с запятыми.

5. Вы можете попробовать этот хак перед преобразованием : price = price.replaceAll(",","");