Я использую библиотеки json для анализа json, отправленного мне javascript. Во время первоначального тестирования все работало нормально, но я обнаружил, что различные внешние интерфейсы отправляют json значения без кода или в кавычках. Время от времени это может меняться, так что мой анализ завершается неудачно, так как данные с плавающей запятой выглядят как строки, следующие.
Я использую неявные операции чтения для анализа модели и действительно хочу продолжать делать который. В настоящее время у меня есть:
case class dsource (
A: String,
B: Int,
C: Float,
D: Float,
E: Float,
F: Float,
G: Float
)
object dsource {
implicit val dsourceaReads: Reads[dsource] = (
(JsPath \ "A").read[String] and
(JsPath \ "B").read[String].map(_.toInt) and
(JsPath \ "C").read[String].map(_.toFloat) and
(JsPath \ "D").read[String].map(_.toFloat) and
(JsPath \ "E").read[Float] and
(JsPath \ "F").read[Float] and
(JsPath \ "G").read[Float]
) (dsource.apply _)
}}
Я хочу избежать предварительной обработки Json, и я не могу контролировать то, что отправляет мне внешний интерфейс, мне нужно обработать значение, заключено ли оно в кавычки или нет. Я предполагаю, что это проблема с тем, чтобы слабо типизированный интерфейс отправлял на строго типизированный сервер.
Есть предложения?
Заранее спасибо.