JQ:嵌套的JSON数组转换

时间:2017-07-05 14:52:35

标签: jq

从一个月前开始,我对jq Transformation(Windows 10上的j1 1.5)有一点问题。由于他们的命令非常出色:"[{nid, title, nights, company: .operator.shortTitle, zone: .zones[0].title} + (.sails[] | { sails_nid: .nid, arrival, departure } ) + (.sails[].cabins[] | { cabinname: .cabinType.title, cabintype: .cabinType.kindName, cabinnid: .cabinType.nid, catalogPrice, discountPrice, discountPercentage, currency } )]"。从几天前开始,api提供更大的"更大的" json文件JSON File。使用jq命令我得到了很多重复项(附带的文件我得到了3146个对象,预期的对象是250周围)。我试图更改jq命令以避免重复,但没有"运气"在那。 json文件包含可变数量的风帆(在这种情况下为10),而每个风帆都有可变数量的舱室(在这种情况下为25)。任何提示我怎么能意识到这一点?问候timo

1 个答案:

答案 0 :(得分:0)

这可能是您正在寻找的:

[{nid, title, nights, company: .operator.shortTitle, zone: .zones[0].title} 
 + (.sails[] | ({ sails_nid: .nid, arrival, departure } +
                (.cabins[] | { cabinname: .cabinType.title,
                               cabintype: .cabinType.kindName,
                               cabinnid: .cabinType.nid,
                               catalogPrice,
                               discountPrice,
                               discountPercentage,
                               currency } ))) ]

希望布局能够澄清与jq过滤器的区别。