Q: How do I apply operations to an object? I have 2 Newtonsoft JObjects that I compare with JsonDiffPatchDotNet like this:
var jdp = new JsonDiffPatch();
JToken diff = jdp.Diff(_clientInstance, _instance);
if (diff == null)
    return;
var formatter = new JsonDeltaFormatter();
IList<Operation> ops = formatter.Format(diff);
JArray opsArray = JArray.FromObject(ops);

I send the opsArray as a string to a client, so that they only receive the difference of 2 large json objects. With that I greatly reduce the network traffic. But how do I apply the operations in the newly created JArray on client side? In the source code of the JsonDiffPatchDotNet package, I could only find Unit Tests that checked if operations were successfully created, but they were never used for anything. I couldn't find anything online either and if I understand correctly, there is no code in the nuget package either. I searched for some functionality in Newtonsoft.Json that could help me, but didn't find anything there either.

A: I figured it out for my use case. I needed to use a specific Newtonsoft.Json version, so I ended up downloading the source code of JsonDiffPatch.net, Tavis.JsonPatch, Tavis.JsonPointer and JsonDiffPatch (basically 4 packages that allow for doing every kind of json stuff), put everything into one project, compiled it with that specific Newtonsoft.Json version and using the JsonDiffPatch part to apply operations to existing objects. If anyone goes through the same stuff, here is the client-side that applies the operations array to an existing object then:
var _clientInstance = (JToken)JObject.FromObject(someObject);
var patchDoc = JsonDiffPatch.PatchDocument.Parse(opsArray.ToString());
var patcher = new JsonDiffPatch.JsonPatcher();
patcher.Patch(ref _clientInstance, patchDoc);

