Play Framework: How to convert strings to numbers while validating JSON
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Given the following JSON.. { "ask":"428.00", "bid":"424.20" } ... I need to convert the values of ask and bid to numbers: { "ask": 428.00, "bid": 424.20 } To do that, I've created a validator that reads the string value and passes it to method toNumber , which validates and converts the given string: def validate = ( ((__ \ 'ask).json.pickBranch(Reads.of[JsString] <~ toNumber)) ~ ((__ \ 'bid).json.pickBranch(Reads.of[JsString] <~ toNumber)) ).reduce private def toNumber(implicit reads: Reads[String]) = { Reads[Double](js => reads.reads(js)