如何将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);
}
}
}