如何使用 JSONata 将嵌套对象展平为单个深度对象?
How to flatten nested object to single depth object with JSONata?
我是 JSONata 的新手,在创建展平函数时遇到了一些问题。
我想转这个输入:
{
"user": {
"key_value_map": {
"CreatedDate": "123424",
"Department": {
"Name": "XYZ"
}
}
}
}
进入这个:
{
"user.key_value_map.CreatedDate": "123424",
"user.key_value_map.Department.Name": "XYZ"
}
谁能帮帮我?在这里和 google 上搜索,但找不到可以引导我走向正确方向的东西。
谢谢
(
$fn := function($o, $prefix) {
$each($o, function($v, $k) {(
$name := $join([$prefix,$k], '.');
$type($v) = 'object' ? $fn($v, $name): {
$name: $v
}
)}) ~> $merge()
};
$fn($)
)
我是 JSONata 的新手,在创建展平函数时遇到了一些问题。
我想转这个输入:
{
"user": {
"key_value_map": {
"CreatedDate": "123424",
"Department": {
"Name": "XYZ"
}
}
}
}
进入这个:
{
"user.key_value_map.CreatedDate": "123424",
"user.key_value_map.Department.Name": "XYZ"
}
谁能帮帮我?在这里和 google 上搜索,但找不到可以引导我走向正确方向的东西。
谢谢
(
$fn := function($o, $prefix) {
$each($o, function($v, $k) {(
$name := $join([$prefix,$k], '.');
$type($v) = 'object' ? $fn($v, $name): {
$name: $v
}
)}) ~> $merge()
};
$fn($)
)