在Play2和Scala中使用JSON数组
发布时间:2020-12-16 09:12:16 所属栏目:安全 来源:网络整理
导读:"people": [ { "name": "Jack","age": 15 },{ "name": "Tony","age": 23 },{ "name": "Mike","age": 19 }] 这是我尝试解析的json样本.我想能够对每个人做一个foreach操作,并打印他们的名字和年龄. 我知道如何处理json数组,当它是单个项目或一个特定的编号项
"people": [ { "name": "Jack","age": 15 },{ "name": "Tony","age": 23 },{ "name": "Mike","age": 19 } ] 这是我尝试解析的json样本.我想能够对每个人做一个foreach操作,并打印他们的名字和年龄. 我知道如何处理json数组,当它是单个项目或一个特定的编号项目.我不知道如何迭代所有项目. 谁能帮我吗? 解决方法
Play JSON库有很多方法可以实现.主要区别是Scala案例类的使用.
给一个简单的json val json = Json.parse("""{"people": [ {"name":"Jack","age": 19},{"name": "Tony","age": 26} ] }""") 您可以使用案例类和Json宏来自动解析数据 import play.api.libs.json._ case class People(name: String,age: Int) implicit val peopleReader = Json.reads[People] val peoples = (json "people").as[List[People]] peoples.foreach(println) 或者没有case类,手动 import play.api.libs.json._ import play.api.libs.functional.syntax._ implicit val personReader: Reads[(String,Int)] = ( (__ "name").read[String] and (__ "age").read[Int] ).tupled val peoples = (json "people").as[List[(String,Int)]] peoples.foreach(println) 换句话说,检查关于这个主题的非常完整的文档:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |