小编Paw*_*ski的帖子

Play Framework - 向JSON对象添加字段

我在使用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)

任何帮助赞赏!

json scala playframework playframework-2.0

35
推荐指数
2
解决办法
2万
查看次数

如何按第一个元素对列表进行排序

我有一个矢量列表看起来像:

[[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)

r list

7
推荐指数
1
解决办法
1807
查看次数

QueryDSL:将BooleanExpression的列表转换为谓词

我正在尝试创建一个取决于布尔参数数量的查询.创建谓词的函数如下所示:

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)

java querydsl

3
推荐指数
1
解决办法
6658
查看次数

标签 统计

java ×1

json ×1

list ×1

playframework ×1

playframework-2.0 ×1

querydsl ×1

r ×1

scala ×1