繁体   English   中英

在Scala中解析JSON文件

[英]Parsing JSON file in Scala

我有一个JSOn文件:

JsonString="""{"schema":{"type":"struct","name":"emp_table","fields":[{"field":"emp_id","type":"string"},{"field":"emp_name","type":"String"},{"field":"city","type":"string"},{"field":"emp_sal","type":"string"},{"field":"manager_name","type":"string"},]},"payload":{"emp_id":"1","emp_name":"abc","city":"NY","emp_sal":"100000","manager_name":"xyz"}}"""

我想解析它并将值放入Array(1,abc,NY,100000,xyz)

我在Scala中使用了Lift Json API:

case class Emp(val emp_id: String, val emp_name: String, val city: String, val emp_sal: String, val manager_name: String)

val stocks = ArrayBuffer[Emp]()
val json = JsonParser.parse(EmpString)

val elements = (json \\ "payload").children
for ( acct <- elements ) {
val stock = acct.extract[Emp]
stocks += stock
}
stocks.toArray
}

但它给了我

Array[Emp] = Array(Emp(1,abc,NY,100000,xyz))

有人可以使用GSON或jackson等其他API来指导我解析此Json文件吗?

如果您有一个Array[Emp] ,并且想要Array[String] ,则始终可以只使用flatMap()

empArr.flatMap(_.productIterator).map(_.toString)
//res0: Array[String] = Array(1, abc, NY, 100000, xyz)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM