Как применить JsonPatchDocument
к объекту неизвестного типа?По сути, у меня есть много файлов json, для которых я хотел бы применить патч.Проблема в том, что в моем приложении C # нет точной модели для сопоставления json с объектом (json в файлах может отличаться, и они могут измениться в будущем - я не хочу перекомпилировать приложение каждый раз, когда новое свойстводобавлено / удалено).Есть ли способ, я мог бы применить патч к анонимному объекту или JObject / JArray?
Вот что я получил:
using Microsoft.AspNetCore.JsonPatch;
using Microsoft.AspNetCore.JsonPatch.Converters;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace JsonPatchTest
{
class Program
{
static void Main(string[] args)
{
JTokenReader reader = new JTokenReader(JArray.Parse("[{\"op\": \"remove\", \"path\": \"/title\" }]"));
JsonPatchDocumentConverter converter = new JsonPatchDocumentConverter();
JsonPatchDocument document = (JsonPatchDocument)converter.ReadJson(reader, typeof(JsonPatchDocument), null, new JsonSerializer());
string json = "{ \"title\": \"test\" }";
object myObject = null;
// magic goes here > how to convert string to object and apply patch?
document.ApplyTo(myObject);
}
}
}