【发布时间】:2021-10-28 13:33:08
【问题描述】:
我有一个这样的 json 对象数组
[
{
"events": [
{
"type": "message",
"attributes": [
{
"key": "action",
"value": "withdraw_reward"
},
{
"key": "sender",
"value": "bob"
},
{
"key": "module",
"value": "distribution"
},
{
"key": "sender",
"value": "bob"
}
]
},
{
"type": "credit",
"attributes": [
{
"key": "recipient",
"value": "ross"
},
{
"key": "sender",
"value": "bob"
},
{
"key": "amount",
"value": "100"
}
]
},
{
"type": "rewards",
"attributes": [
{
"key": "amount",
"value": "100"
},
{
"key": "validator",
"value": "sarah"
}
]
}
]
},
{
"events": [
{
"type": "message",
"attributes": [
{
"key": "action",
"value": "withdraw_reward"
},
{
"key": "sender",
"value": "bob"
},
{
"key": "module",
"value": "distribution"
},
{
"key": "sender",
"value": "bob"
}
]
},
{
"type": "credit",
"attributes": [
{
"key": "recipient",
"value": "ross"
},
{
"key": "sender",
"value": "bob"
},
{
"key": "amount",
"value": "100"
}
]
},
{
"type": "rewards",
"attributes": [
{
"key": "amount",
"value": "200"
},
{
"key": "validator",
"value": "Ryan"
}
]
}
]
}
]
如何遍历类型,检查type是否等于rewards然后遍历attributes并验证validator是否等于sarah并获取密钥的value amount?对 scala 和 play 框架来说非常新。任何帮助都会很棒。谢谢
【问题讨论】:
-
您将 JSON 读作案例类还是
JsArray? -
尝试了 Json.parse(obj) 但这不起作用,因为 obj 是一个字符串数组
-
Json.parse("[]")确实有效。使用您尝试过的代码编辑您的帖子,否则我们无能为力。 -
您到底想要什么结果? Sara 是“验证者”的奖励中所有金额值的列表,还是这些金额的总和?还是 Sara 验证的所有“奖励对象”的列表?
标签: json scala playframework traversal