我在使用Scala在Play Framework中向Json对象添加字段时遇到问题:
我有一个包含数据的案例类.例如:
case class ClassA(a:Int,b:Int)
Run Code Online (Sandbox Code Playgroud)
我可以使用Json Writes创建一个Json对象:
val classAObject = ClassA(1,2)
implicit val classAWrites= Json.writes[ClassA]
val jsonObject = Json.toJson(classAObject)
Run Code Online (Sandbox Code Playgroud)
而Json看起来像:
{ a:1, b:2 }
Run Code Online (Sandbox Code Playgroud)
假设我想在Json对象中添加一个额外的'c'字段.结果:
{ a:1, b:2, c:3 }
Run Code Online (Sandbox Code Playgroud)
如何在不创建新案例类或使用Json.obj自己创建Json对象的情况下如何做到这一点?我正在寻找类似的东西:
jsonObject.merge({c:3})
Run Code Online (Sandbox Code Playgroud)
任何帮助赞赏!
我有一个矢量列表看起来像:
[[1]]
[1] 2 1.0 3.0
[[2]]
[1] 3 3 3
[[3]]
[1] 1 3.0 1.0
Run Code Online (Sandbox Code Playgroud)
我希望它按每个向量的第一个元素按递减顺序排序,如下所示:
[[1]]
[1] 3 3 3
[[2]]
[1] 2 1.0 3.0
[[3]]
[1] 1 3.0 1.0
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个看起来像的解决方案(当然它不起作用):
list.sortby(function (x) x[1])
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个取决于布尔参数数量的查询.创建谓词的函数如下所示:
Predicate createPredicate(Boolean param1, Boolean param2) {
List<BooleanExpression> booleanExpressions = new List<>();
if (param1)
booleanExpressions.add(/** expression 1 **/);
if (param2)
booleanExpressions.add(/** expression 2 **/);
convertExpressionsToPredicate(booleanExpressions);
}
Run Code Online (Sandbox Code Playgroud)
问题是convertExpressionsToPredicate功能.querydsl中是否有任何特殊方法可以使用or运算符将表达式列表连接到一个谓词中?
我正在寻找的解决方案应该转换为:
List<BooleanExpression> booleanExpressions = List(exp1, exp2, exp3);
Run Code Online (Sandbox Code Playgroud)
成:
Predicate p = exp1.or(exp2).or(exp3)
Run Code Online (Sandbox Code Playgroud)