【发布时间】:2019-04-11 02:42:04
【问题描述】:
我正在尝试使用 Scala 中的 play-json 解析带有 NaN 的 JSON 对象。
import play.api.libs.json._
val s = """{"a": NaN}"""
val p = Json.parse(s)
这个错误与
com.fasterxml.jackson.core.JsonParseException:非标准令牌 'NaN':启用 JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS 以允许 在 [来源:{“a”:NaN};行:1,列:10]
com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702) com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:558) com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1884) com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:749) play.api.libs.json.jackson.JsValueDeserializer.deserialize(JacksonJson.scala:179) play.api.libs.json.jackson.JsValueDeserializer.deserialize(JacksonJson.scala:128) play.api.libs.json.jackson.JsValueDeserializer.deserialize(JacksonJson.scala:123) com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3786) com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2115) play.api.libs.json.jackson.JacksonJson$.parseJsValue(JacksonJson.scala:235) play.api.libs.json.StaticBinding$.parseJsValue(StaticBinding.scala:16) play.api.libs.json.Json$.parse(Json.scala:171)
问题:我不确定我应该在哪里启用配置以允许非标准解析。
(scala 2.11, com.typesafe.play:play-json_2.11:2.6.9)
【问题讨论】:
-
Since Play doesn't support NaN,我会尽可能避免这种情况。您不应该在 Scala 或 Play 中使用或期待 NaN。
-
这是我要解析的请求对象的一部分。
标签: json scala playframework play-json