我有这样的json对象:
{
"foo": "bar",
"object": {
"a": "b",
"c": "d",
"e": "f"
},
"objectWithObjects": {
"a": 1,
"b": 2,
"c": {
"a": 1,
"b": 2,
"c": 3
}
},
"array1": [
{
"a": 1,
"b": 2,
"c": 3
},
{
"a": 4,
"b": 5,
"c": 6
},
{
"a": 7,
"b": 8,
"c": 9
}
],
"objectWithNestedArray": {
"foo": "bar",
"array2": [
{
"a": 1,
"b": 2,
"c": [
{
"a": 1,
"b": 2,
"c": 3
},
{
"a": 4,
"b": 5,
"c": 6
}
]
},
{
"a": 4,
"b": 5,
"c": [
{
"a": 1,
"b": 2,
"c": 3
},
{
"a": 4,
"b": 5,
"c": 6
}
]
}
]
}
}
,我需要使用以下路径列表选择性地剪切它:
foo
object.c
objectWithObjects.a
objectWithObjects.c.b
objectWithObjects.c.c
array1.a
objectWithNestedArray.foo
objectWithNestedArray.array2.b
objectWithNestedArray.array2.c.b
结果将是:
{
"foo": "bar",
"object": {
"c": "d",
},
"objectWithObjects": {
"a": 1,
"c": {
"b": 2,
"c": 3
}
},
"array1": [
{
"a": 1,
},
{
"a": 4,
},
{
"a": 7,
}
],
"objectWithNestedArray": {
"foo": "bar",
"array2": [
{
"b": 2,
"c": [
{
"b": 2,
},
{
"b": 5,
}
]
},
{
"b": 5,
"c": [
{
"b": 2,
},
{
"b": 5,
}
]
}
]
}
}
我在使用ruby hash时一直在寻找ruby解决方案,但如有必要,我可以在前端使用javascript / JSON进行操作。有没有可以做到这一点的库?也许只有几行代码足以完成这项工作?