scala中json與對(duì)象互轉(zhuǎn)

1、pom.xml中引入依賴包

?<dependency>

? ? ? ? ? ? <groupId>org.json4s</groupId>

? ? ? ? ? ? <artifactId>json4s-native_2.11</artifactId>

? ? ? ? ? ? <version>3.2.1</version>

? ? </dependency>


2、scala代碼

object a123 {

? def main(args: Array[String]): Unit = {

? ? import org.json4s._

? ? import org.json4s.native.JsonMethods._

? ? import org.json4s.JsonDSL._

? ? //對(duì)象轉(zhuǎn)化為json

? ? val list=List(Map("a"->1,"b"->2),Map("a"->1,"b"->2))

? ? val json: String = compact(render(list))

? ? println(json)

? ? //json轉(zhuǎn)化為對(duì)象(不帶外層字段)

? ? implicit val formats = DefaultFormats

? ? case class ClassA(a:Int,b:Int)

? ? val json2="""[{"a":1,"b":2},{"a":1,"b":2}]"""

? ? val bb: List[ClassA] = parse(json2).extract[List[ClassA]]

? ? println(bb.toString)

? ? //json轉(zhuǎn)對(duì)象(帶外層字段名)

? ? case class ClassC(a:Int,b:Int)

? ? case class ClassB(c:List[ClassC])

? ? val json3="""{"c":[{"a":1,"b":2},{"a":1,"b":2}]}"""

? ? val bb1:ClassB=parse(json3).extract[ClassB]

? ? println(bb)

? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容