使用scala解析键以数字开头的json对象

使用scala解析键以数字开头的json对象,scala,jsonparser,Scala,Jsonparser,我想使用Scala解析以下JSON对象: val result = """{"24h_volume_usd": "9097260000.0"}""" 通常我使用: import net.liftweb.json._ case class VolumeUSDClass(24h_volume_usd:String) //<- problem 24h_volume_usd does not work val element = parse(result) element.extract[Cry

我想使用Scala解析以下JSON对象:

val result = """{"24h_volume_usd": "9097260000.0"}"""
通常我使用:

import net.liftweb.json._
case class VolumeUSDClass(24h_volume_usd:String) //<- problem 24h_volume_usd does not work
val element = parse(result)
element.extract[CryptoDataClass]
import net.liftweb.json_

case class VolumeUSDClass(24h\u volume\u usd:String)/您可以简单地将变量名称括在反勾中:

implicit val formats = net.liftweb.json.DefaultFormats
val result = """{"24h_volume_usd": "9097260000.0"}"""
import net.liftweb.json._
case class VolumeUSDClass(`24h_volume_usd`:String)
val element = parse(result)
val vusdcl = element.extract[VolumeUSDClass]
println(vusdcl)
回想一下,如果用反勾号括起来,几乎所有东西都可以转换为有效的Scala标识符。甚至像这样奇怪的东西

val `]strange...O_o...stuff[` = 42
println(`]strange...O_o...stuff[`)
工作


这个例子是用
“net.liftweb”%%“lift json”%%“3.2.0”和Scala 2.11测试的。

@SCouto这是关于Scala的,而不是我知道的Javascript。这是一个错误。抱歉。您是否尝试过使用backticks:
案例类VolumeUSDClass(`24h\u volume\u usd`:String)
?回想一下,几乎任何东西都可以通过将其包含在反标记中而转换为有效的scala标识符。