I have situation to merge global array with another custom array or if the name is the same use custom values.
Global:
{
  "connections": [
   {
    "name": "Test SFTP",
    "type": "SFTP",
    "user": "sftpuser",
    "password": "password",
    "server": "127.0.0.1",
    "port": 22,
   },
   {
    "name": "Test FTP",
    "type": "FTP",
    "user": "ftpuser",
    "password": "password",
    "server": "127.0.0.1",
    "port": 21,
   }
 ]
}
Custom:
{
  "connections": [
   {
    "name": "Test SFTP",
    "user": "sftpuser1",
    "password": "password1",
    "server": "127.0.0.2",
   },
   {
    "name": "Test FTPS",
    "type": "FTPS",
    "user": "ftpsuser",
    "password": "password",
    "server": "127.0.0.1",
    "port": 990,
   }
 ]
}
Expected:
{
  "connections": [
   {
    "name": "Test SFTP",
    "type": "SFTP",
    "user": "sftpuser1",
    "password": "password1",
    "server": "127.0.0.2",
    "port": 22,
   },
   {
    "name": "Test FTP",
    "type": "FTP",
    "user": "ftpuser",
    "password": "password",
    "server": "127.0.0.1",
    "port": 21,
   },
   {
    "name": "Test FTPS",
    "type": "FTPS",
    "user": "ftpsuser",
    "password": "password",
    "server": "127.0.0.1",
    "port": 990,
   }
 ]
}
Global will always have all fields but custom can have name + just one field to override global.
Later on I will validate if the json is ok but for now i just need to merge and overwrite.
Thanks, Ivan