【发布时间】:2018-10-26 01:46:32
【问题描述】:
我有很多非结构化的 json。例如:
{
"peoples": [
{
"name": "Vasya",
"age": 33
},
{
"name": "Petya",
"age": 40,
"childs": [
{
"name": "Vasya",
"age": 33
}
]
}
],
"notPeoples": [
{
"name": "Vasya",
"kind": "starship"
},
{
"name": "Iq441",
"kind": "car"
}
]
}
我需要删除所有对象,其中name = "Vasya"。请注意,它可以是任何模式的 json(不仅是人 - 某些对象具有“名称”字段的任何 json),所以我应该分析每个对象(数组中的数组等)。
结果应该是:
{
"peoples": [
{
"name": "Petya",
"age": 40,
"childs": []
}
],
"notPeoples": [
{
"name": "Iq441",
"kind": "car"
}
]
}
如何通过 play json 转换来实现这一点?或者也许使用另一个 java/scala 库。
【问题讨论】:
-
如果在 JSON 对象中随机命名字段(“peoples”、“notPeoples”、“foo”、“bar”等),您将遇到麻烦。我所知道的库不能迭代 JSON 对象内的字段——而是迭代 JSON 数组。您的顶级 JSON 对象不能是数组是否有原因?
-
在我的例子中,顶级 json 可以是任何类型。
-
@zella,您能否发布解决方案以防万一解决。
标签: json scala playframework play-json