如何解决json数组中一个元素的数组,Nifi
我有以下输入 json:
{
"ListArray": [
{
"address": "address1","contact": "123456789","bpId": 123
},{
"address": "address2","contact": "135792468","bpId": 456
},{
"address": "address3","contact": "246812356","bpId": 678
}
]
}
我正在使用以下规范表达式:
[
{
"operation": "shift","spec": {
"ListArray": {
"*": {
"*": "&"
}
}
}
}
]
给我这样的输出:
{
"Address_list": ["address1","address2","address3"],"Contact_list": ["123456789","135792468","246812356"],"Id_list": [123,456,678]
}
但是,如果输入(jsons数组)只有一个json,例如:
{
"ListArray": [
{
"address": "address1","bpId": 123
}
]
}
然后我得到以下输出
{
"Address_list": "address1","Contact_list": "123456789","Id_list": 123
}
对于一个元素,未形成数组。即使只有一个元素,我也希望输出在一个数组中。 谢谢,提前。
解决方法
只需稍加改动,将 .[]
附加到当前存在的&符号(&
),即可解决此问题,例如
[
{
"operation": "shift","spec": {
"ListArray": {
"*": {
"*": "&.[]"
}
}
}
}
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。