. # Sort first | walk( if type == "object" and has("tags") then .tags |= sort_by(.name) end ) # so object positions are predictable | .tags[3].tags[1].tags as $baseData | walk( # Removes .Tags.Controller Tags from the plcName parameter if type == "object" and has("plcName") then .plcName.value |= rtrimstr(".Tags.Controller Tags") elif type == "object" and has("plcname") then .plcname.value |= rtrimstr(".Tags.Controller Tags") end ) # and can be used as the base line to setup the other objects | walk( if type == "object" and .name? == "Data" then .tags = $baseData end )