小编Com*_*der的帖子

在Play2和Scala中使用JSON数组

{
  "people": [
    {
      "name": "Jack",
      "age": 15
    },
    {
      "name": "Tony",
      "age": 23
    },
    {
      "name": "Mike",
      "age": 19
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

这是我试图解析的json样本.我希望能够对每个人进行foreach操作并打印出他们的姓名和年龄.

我知道如何在单个项目或特定编号项目时处理json数组.我不知道如何遍历所有项目.

谁能帮我吗?

arrays json scala playframework playframework-2.0

15
推荐指数
1
解决办法
1万
查看次数

如何获得scala中每个单词的第一个字母?

如果我有"纽约市"这个短语,我如何得到每个单词的第一个字母?我的谷歌搜索只向我展示了如何将每个单词中的第一个字母大写,这看起来与我正在尝试的不同.

鉴于我对Scala的了解有限,我可能会在程序上做到这一点,但我希望有人能够对我提供一些Scala知识,并向我展示一个描述这个问题的功能方法的例子.

scala

8
推荐指数
3
解决办法
7676
查看次数

在Play Framework中加入JSON数组

我试图通过远程http响应解析播放框架中的一些json.我想进入结果[0] - >位置[0] - > latLng-> lat.我正在使用scala的playframework 2.0.

下面是我使用的代码,以及我迄今为止尝试过的几个注释示例.

  val promise = WS.url("http://www.mapquestapi.com/geocoding/v2/address?...").get()
  val body = promise.value.get.body
  val json = Json.parse(body)
  val maybeLat = (json \ "results" \ "0" \ "locations" \ "0" \ "latLng" \ "lat").asInstanceOf[String]
  //val maybeLat = (json \ "results[0]" \ "locations[0]" \ "latLng" \ "lat").asInstanceOf[String]
  //val maybeLat = (json \ "results(0) \ "locations(0) \ "latLng" \ "lat").asInstanceOf[String]

  Ok(body).withHeaders(CONTENT_TYPE -> "text/json")
Run Code Online (Sandbox Code Playgroud)

我从play框架获得的错误:http://pastebin.com/S5S3nY5D JSON我正在尝试解析:http://pastebin.com/7rfD0j2n

json scala playframework-2.0

6
推荐指数
2
解决办法
5269
查看次数

使用Jerkson时,字符串保持JSON的前导和尾随引号

有问题的JSON:

{
"search_id": "",
"type": "Search.filter",
"query": "bar,club",
"params": {
    "search_id": "",
    "user_id": "",
    "client": "ios",
    "lat": 40.73199375351,
    "lon": -74.00080404533901,
    "radius": 20
}
Run Code Online (Sandbox Code Playgroud)

}

检索数据的代码:

val json = Json.parse(new String(body))
println((json \ "search_id") + " | " + (json \ "query"))
println(json)
Run Code Online (Sandbox Code Playgroud)

只打印json JsValue按预期打印出整个JSON.打印出第一个项目会产生:""| "酒吧,俱乐部"

为什么要保持JSON格式的引号?这不是字符串的一部分,它基本上是说引号内的内容是一个字符串.我该如何解决?

json scala jackson playframework-2.0 jerkson

5
推荐指数
1
解决办法
1837
查看次数

找出多匹配查询中匹配的字段

我在三个字段上使用典型的多匹配查询:名称,城市,州.多匹配查询也使用Java函数分数脚本.有什么方法可以在得分脚本中知道哪些字段匹配我的多重匹配查询?如果没有,有没有办法从SearchResponse对象中解决这个问题?

我目前在Elasticsearch 1.2.1上,但如果有必要,我可以轻松升级.

elasticsearch

5
推荐指数
2
解决办法
6280
查看次数

在Scala中重写PHP的similar_text

为了重写PHP的similar_text算法,我尝试了一些不同的方法.所有这些都取得了一定的成功,但最终以失败告

第一次尝试:我尝试从PHP源代码重写它.C优雅地使用指针使得在Scala中看起来无法做出同样精确的实现并且干净利落.

第二次尝试:我尝试用java中的PHP Similar_text()上发布的Java函数重写它.不幸的是,这个函数在Java中不起作用所以永远不要把它移植到Scala上.

第三次(当前)尝试:我目前正在尝试将此JavaScript实现转换为Scala:http://phpjs.org/functions/similar_text/.我以前在JavaScript中使用它,它似乎正常运行.我在Scala中的翻译(下面)运行不正常.它可以让你在1或2个相似性索引中,但它通常不是它的PHP对应结果的100%.

def similartext(first:String,second:String) : Int = {
  if (first == null || second == null) {
    0
  }

  var pos1:Int = 0
  var pos2:Int = 0
  var max:Int = 0
  var sum:Int = 0
  var l:Int = 0

  val firstLength:Int = first.length
  val secondLength:Int = second.length

  for (p <- 0 until firstLength) {
    for (q <- 0 until secondLength) {
      while(p+l < firstLength && q+l < secondLength && (first.charAt(p+l) == …
Run Code Online (Sandbox Code Playgroud)

php scala text-comparison similarity

4
推荐指数
1
解决办法
838
查看次数

使用Play 2.1.1迭代JSON中的数组

我正在使用play 2.1.1,我在迭代数组时遇到问题.我读的地方,你可以创建一个列表[对象]一读,但每次我尝试这样做,我得到一个错误"No unapply function found"的这行

implicit val userListReads: Reads[List[FBUser]] = Json.reads[List[FBUser]]". The issue is " = Json.reads[List[FBUser]]

我无法尝试其他什么.任何帮助将不胜感激.

def linkUsers() = Action { implicit request =>
  val json = Json.parse("{\"data\": [{\"name\": \"Me Lazyan\",\"id\": \"1182\"},{\"name\": \"Chales Dselle\",\"id\": \"10115\"},{\"name\": \"Be My\",\"id\": \"10275\"},{\"name\": \"De Rwani\", \"id\": \"11189\"},{\"name\": \"Phoe Johon\", \"id\": \"11372\"}]}")

  val peoples = json.validate[List[FBUser]].get
  peoples.foreach(println)

  Ok(json).withHeaders(CONTENT_TYPE -> "text/json")
}

case class FBUser(
  name: String,
  id: String 
)

object FBUser {
    /** Uses a Scala Macro to define the Reads function …
Run Code Online (Sandbox Code Playgroud)

json scala playframework playframework-2.0 playframework-json

3
推荐指数
2
解决办法
7847
查看次数