79519889

Date: 2025-03-19 10:30:46
Score: 1.5
Natty:
Report link

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
  }
}
Reasons:
  • Probably link only (1):
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Contains question mark (0.5):
  • Starts with a question (0.5): How
  • Low reputation (0.5):
Posted by: Vlad Dimov