У меня есть такие объекты 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, так как я работаю с хэшем ruby, но я могу сделать это во внешнем интерфейсе с помощью javascript / JSON, если это необходимо.Есть ли библиотека, которая может это сделать?Или, может быть, нескольких строк кода будет достаточно для выполнения этой работы?