我的Groovy脚本中有一些排序问题,我不知道为什么它没有按预期工作。
以下是我要排序的JSON:
norm(out, out-matmul) 0.000511952
norm(out, out-scan) 0.0
我试图通过'policyid'对这个JSON进行排序,但它似乎没有对它进行排序,我不知道为什么它不是我的代码似乎是正确的:
以下是我想要输出的内容:
{
"aaa": [
{
"aaa1": xxx,
"aaa2": "xxx",
"bbb": [ {
"bbb1": xx,
"bbb2": [
1,
2
],
"ccc": [],
"ccc1": xxx
}]
},
{
"aaa1": xxx,
"aaa2": "xxx",
"bbb": [ {
"bbb1": xx,
"bbb2": [
1,
2
],
"ccc": [],
"ccc1": xxx
}]
}
]
}
]
}
答案 0 :(得分:0)
您的代码中存在拼写错误:
log.info testsort.sort{a,b -> a.policyid <=> b.policyid}
您访问policyid
字段时应该policyId
。将提到的行更改为:
log.info testsort.sort{a,b -> a.policyId <=> b.policyId}
您将获得输出:
[policyId:31, passengerSeqIds:[2], optionalPassengerSeqIds:[], cost:25]
[policyId:34, passengerSeqIds:[1], optionalPassengerSeqIds:[], cost:40]
[policyId:35, passengerSeqIds:[1, 2], optionalPassengerSeqIds:[], cost:72]