How about this expression?
$.mydata{
OWNED: $.{
DOSSIER: DOSSIER,
"DIP_ID": DIP_ID
}{
Private: $.DIP_ID[],
Public: $.DIP_ID[],
"OWNED_GROUP_COUNT": $count($.DIP_ID)
}
}
JSONata Playground link: https://jsonatastudio.com/playground/4502c709
Given a JSON input of:
{
"mydata": [
{
"OWNED": "A",
"DOSSIER": "Private",
"DIP_ID": 8619
},
{
"OWNED": "B",
"DOSSIER": "Public",
"DIP_ID": 17
},
{
"OWNED": "C",
"DOSSIER": "Private",
"DIP_ID": 27635
},
{
"OWNED": "A",
"DOSSIER": "Public",
"DIP_ID": 111
},
{
"OWNED": "B",
"DOSSIER": "Public",
"DIP_ID": 110
}
]
}
It evaluates to:
{
"A": {
"Private": [
8619
],
"OWNED_GROUP_COUNT": 2,
"Public": [
111
]
},
"B": {
"Public": [
17,
110
],
"OWNED_GROUP_COUNT": 2
},
"C": {
"Private": [
27635
],
"OWNED_GROUP_COUNT": 1
}
}