json - 如何在 scala 中使用 json?
问题描述
我使用 IntelliJ 而不是 sbt。我有一个需要创建帖子的任务。我需要输入以下信息:
{
"packages": [
{
"uid": "...",
"x": 21.27,
"y": 23.36
},
{
"uid": "...",
"x": -16.01,
"y": -12.82
},
{
"uid": "...",
"x": 19.38,
"y": 1.77
}
],
"mailmen": [
{
"uid": "...",
"x": 14.68,
"y": 9.69
},
{
"uid": "...",
"x": 0.08,
"y": -3.34
}
]
}
我已经完成了程序并且我有课程:
class livreur(var uid:String,var xMaison:Double,var yMaison:Double,var x:Double,var y:Double,var distance:Double=0.0){
def afficherL : Unit ={
println("Uid "+uid)
println("Distance: "+distance)
}
}
class packages(var uid:String,var x:Double,var y:Double,var uidLivre:String=""){
def afficherP : Unit ={
println("Uid "+uid)
}
}
我用来创建对象的函数:
def saisirLivreur():livreur={
val uidLiv=readLine("Uid: ").toString
val xMaison=readLine("X: ").toDouble
val yMaison=readLine("Y: ").toDouble
return new livreur(uidLiv,xMaison,yMaison,xMaison,yMaison)
}
def saisirPackage():packages={
val uidPack=readLine("Uid: ").toString
val xPack=readLine("X: ").toDouble
val yPack=readLine("Y: ").toDouble
return new packages(uidPack,xPack,yPack)
}
**我的问题是:如果我有 2 个 ArraysBuffers,第一个是所有快递员(livrMaison),第二个是所有交付的包裹(包Livré)。:
[
{
"uid": "uid-du-livreur",
"tour": [ //liste des colis à distribuer, dans l'ordre
"uid-du-premier-colis-de-la-tournee-de-ce-livreur"
],
"length": 28.670242284303 //longueur totale du parcours
},
{
"uid": "uid-du-livreur",
"tour": [ //liste des colis à distribuer, dans l'ordre
"uid-du-premier-colis-de-la-tournee-de-ce-livreur",
"uid-du-second-colis-de-la-tournee-de-ce-livreur"
],
"length": 106.54693343859 //longueur totale du parcours
}
] ** 请帮我。谢谢,-N
解决方案
- scala中的类应该是大写
Livreur
而不是livreur
- 要解析和生成 json,请使用现有库之一。我建议
upickle
(http://www.lihaoyi.com/upickle/)(添加ibraryDependencies += "com.lihaoyi" %% "upickle" % "0.9.5"
到build.sbt
)
推荐阅读
- visual-studio-code - Visual Studio Code:展开滚动选项卡的水平条
- intellij-idea - Nullable Integer 的引用相等问题
- canvas - 在重叠时找到哪个对象在顶部?
- php - 在 PHP while 循环中生成的 Jquery 代码返回 NaN 进行计算
- c# - 如何一个一个播放多个动画?
- amazon-web-services - JMESPath 在树中下降以进行过滤
- firebase - 首先从表 1 中获取用户列表,然后通过表 2 中的特定字段与当前用户进行比较
- visual-studio-code - 在 VSCode 上使用 MSYS2 MinGW 64 位终端
- json - 无法反序列化复杂对象数组中的日期
- python - 复制粘贴多张工作表到新工作簿