Hi @muhepd1
Here is what I would do.
Assumption: I am making an assumption, that the key you are using to Filter in your Get items is a single column.
So let's pretend that Key column is called ID and I am going to assume that the value is Unique in both your Parse JSON and your SharePoint list, so there are no duplicates.
Step 1. Do a Select on your Parse JSON, pulling out your Key.
-Click the Advanced Map Icon, because we do NOT want to enter a Key, just a value
-Once you are in advanced mode click there, and in the expression type item() (yeap that)
Step 2. Do a Get Items on your SharePoint list, but without any filters
Step 3. Create a Select action on your Get Items (#2) and once again pull out the RowID (key)
-Click the advanced mode again
-Once you are in advanced mode click there, and in the expression type item() (yeap that)
Step 4. initialize an Array Variable and leave it empty
Step 5. Do an Apply to each on your Select from your Get items, we want to loop through our List
-In the Apply to each ADD a Condition
-In the Left side, you will add the Outputs of the Select from the ParseJSON
-Change the comparer to "does not contain" (middle section)
-On the right side just the Current Item or item() (expression) whichever you want
Step 6. In the Yes side, which tells us the New ParseJSON List does NOT contain the ID from the SharePoint List
-Add an Append to array variable
-put item() (the expression) or Current Item , which ever you prefer in the Value
Step 7. Now you had your unique list of IDs from the SharePoint List, that are NOT in the New ParseJSON
Loop through this list (Apply to each) and delete the rows from the SharPoint, based on that.
Now if this isn the actual RowID from sharepoint you will have to do Get iTems, filter by the Id, then do a Delete
And Done
My Example
I have 2 arrays of emails

I do a select on both, using item() (not setting a key, just the value in advanced mode)

I Create my NonMatching Array variable as empty

Now I do my Apply to each on the Outputs of Email Address 1 aka (MyEmailAddresses array)
And inside is my condition where I validate that the Outputs of my EmailAddress 2 Array does NOT contain the Current Item (aka item()) from the loop

And if it doesn't I add item() to my NonMatchingArray
And when the loop is done. I have my array of non matching email addresses.

NOTE: To make this fastest, do the delete step BEFORE you do the INsert/Updates so that you arent adding more rows to iterate through for deletes.
If you like my answer, I would really appreciate if you please Mark it as Resolved, and give it a thumbs up, so it can help others
Cheers
Thank You
Michael Gernaey MCT | MCSE | MCP | Self-Contractor| Ex-Microsoft
https://gernaeysoftware.com
LinkedIn: https://www.linkedin.com/in/michaelgernaey