首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在scala play上阅读具有给定结构的json?

如何在scala play上阅读具有给定结构的json?
EN

Stack Overflow用户
提问于 2014-11-25 23:28:51
回答 1查看 96关注 0票数 1

我有一个像这样的json列表结构,我们如何读取这个结构并在scala中转换成列表,播放framwork。

代码语言:javascript
复制
{
"0":{
    "name":"Foo",
    "age":10
  },
"12":{
    "name":"Bar",
     "age":10
  }
  .
  .
  .
}

如果有像下面这样的json结构,我可以很容易地完成,但由于我不是那么精通解析Json,而且实际上也是scala的新手,我不能理解如何使用像第一个例子中那样关键字为"0","12“的Json结构。我一直在为Jackson使用Jerkson wrapper来生成/解析json/case-class。

代码语言:javascript
复制
{
{"name":"Foo","age":10},
{"name":"Bar",age:11}
}

更新:

除了Ryans answer之外,我还成功地解析了json结构,

代码语言:javascript
复制
import play.api.libs.json._

case class Doodad(name: String, age: Int)

object Doodad {
  implicit val fmt = Json.format[Doodad]

def parserFuntion = {
var myJsValue: JsValue = Json.parse(jsonString)// added line in the ans
    var requiredMap = myJsValue.validate[Map[String, Doodad]]
}
    }

但现在我有了一个新的问题,我使用的json结构似乎有点不规则,例如:

代码语言:javascript
复制
{
"0":{
    "name":"Foo",
    "age":10
  },
"12":{
    "name":"Bar",
    "age":10
  },
"13":{
    "name":"Foobar"
    "age":20,
    "meta":{
             "desc":"Irregular Json",
             "img":"Some Link"
           }
  },
      .
      .
      .
    }

一些json列表元素可能有额外的"meta“键->值对,而有些可能没有。那么,我们如何处理这样的情况呢?有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-11-25 23:34:43

代码语言:javascript
复制
case class Doodad(name: String, age: Int)

object Doodad {
  implicit val fmt = Json.format[Doodad]
}

myJsValue.validate[Map[String, Doodad]] // JsResult[Map[String, Doodad]]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27130638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档