假设我的JSON输入是:
{ "rating": { "primary": { "value": [ "a", "B", 1] } } }
我想要达到的是:
{ "values": "a, B, 1" }
我使用jolt JSON到JSON代码。
7cwmlq891#
这对于Jolt的常用转换是不可能的。您需要编写自定义转换。请查看文档部分了解如何编写自己的转换。
4nkexdtk2#
您可以尝试以下规范
[ { "operation": "modify-overwrite-beta", "spec": { "value": "=concat(@(2,rating.primary.value[0]),',',@(2,rating.primary.value[1]),',',@(2,rating.primary.value[2]))" } }, { "operation": "remove", "spec": { "rating": "" } } ]
pprl5pva3#
目前,您可以使用modify转换规范沿着***join***函数来连接数组的组件,如下所示
[ { "operation": "modify-overwrite-beta", "spec": { "*": { "*": { "value": "=join(', ',@(1,&))" } } } }, { // get rid of extra wrappers while renaming to "values" "operation": "shift", "spec": { "*": { "*": { "value": "&s" // the literal "value" is replicated by & } } } } ]
其中,@(1,&)复制(同时 * 覆盖 * 原始值)当前属性("value")的值,该值在当前级别的右侧声明,1后面的左括号表示此值。http://jolt-demo.appspot.com/站点上的***演示***是
@(1,&)
"value"
3条答案
按热度按时间7cwmlq891#
这对于Jolt的常用转换是不可能的。您需要编写自定义转换。请查看文档部分了解如何编写自己的转换。
4nkexdtk2#
您可以尝试以下规范
pprl5pva3#
目前,您可以使用modify转换规范沿着***join***函数来连接数组的组件,如下所示
其中,
@(1,&)
复制(同时 * 覆盖 * 原始值)当前属性("value"
)的值,该值在当前级别的右侧声明,1后面的左括号表示此值。http://jolt-demo.appspot.com/站点上的***演示***是