У вас есть 2 варианта:
1) Включите ALLOW_NON_NUMERIC_NUMBERS
для вас, Джексон маппер - похоже, что не поддерживается через play-json, но если вы анализируете json «вручную», вы можете управлять им, например так:
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.databind.ObjectMapper
import org.json4s._
import org.json4s.jackson.Json4sScalaModule
val jsonString = """{"price": NaN}"""
val mapper = new ObjectMapper()
// Configure NaN here
mapper.configure(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS, true)
mapper.registerModule(new Json4sScalaModule)
val json = mapper.readValue(jsonString, classOf[JValue])
2) Изменение json и преобразование всех подстрок NaN
в ноль. Тогда разбери его с play-json.