繁体   English   中英

如何在 scalaj 中发布 json 数据?

[英]How do I post json data in scalaj?

我正在使用 scalaj 发出 Http post 请求

如何将纬度、经度和半径作为 postData 字段中的参数传递

val result = Http("http:xxxx/xxx/xxxxx").postData("""{"latitude":"39.6270025","longitude":"-90.1994042","radius":"0"}""").asString

为什么字符串以"""json"""这样的方式传递?

根据文档,postData 函数看起来只需要字节数组和字符串作为参数。

所以这是两个问题。 让我们从第二个开始。

为什么字符串以"""json"""这样的方式传递?

Scala 允许对多行字符串文字(或包含换行符、引号等的字符串)使用特殊语法。 所以你可以做

val s = """Welcome home!
           How are you today?"""

现在回到主要问题

如何将纬度、经度和半径作为参数传递到 postData 字段中?

我想你是在这种情况下:

val lat = "39.6270025"
val long = "-90.1994042"

你想将它传递给postData函数,与其他一些可能固定的字符串混合。

Scala 提供的另一个功能是所谓的string interpolation 简单的例子

val name = "Mark" // output on the REPL would be: name: String = Mark
val greeting = s"Hello $name!" // output on the REPL would be: greeting: String = Hello Mark!

所以在你的情况下你可以做同样的事情

val result = Http("http:xxxx/xxx/xxxxx")
  .postData(s"""{"latitude":$lat,"longitude":$long,"radius":"0"}""")
  .asString

暂无
暂无

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

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