2016-08-24 12 views
1

json4sでJSONを解析しようとしたときに、私は、次のエラーが発生します:json4sの使用時にJacksonパーサーの機能を設定するにはどうすればよいですか?

Non-standard token 'NaN': enable JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS to allow 

私はこの機能を有効にするにはどうすればよいですか?

+0

あなたが助けてくれた場合、回答をupvote/acceptするのを忘れないでください!あなたは将来、助けを受ける可能性が高くなります。 –

答えて

0

あなたObjectMapperオブジェクトがmapperという名前と仮定すると:

val mapper = new ObjectMapper() 
// Configure NaN here 
mapper.configure(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS, true) 

... 

val json = ... //Get your json 
val imported = mapper.readValue(json, classOf[Thing]) // Thing being whatever class you're importing to. 
+0

ええと...私はJSON文書を読むと、私のエラーが起こると思います: val json = parse(jsonString) – arosca

+0

@arosca私は文脈やコードがなくても怖いです。 –

0

@Nathanielフォード、正しい道に私を設定するためのおかげで!

私はparse()メソッドのソースコードを見ていました(これは最初にやったはずです)。これはうまくいきます:

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]) 
関連する問題