c# - 如何将 json-patch 应用于 .net core 中的纯 json?

标签 c# json .net-core json-patch

JsonPatchDocument.Apply方法适用于对象图,但我想将 json 补丁应用于纯 json。

例如,假设我有这个 json:

{ "name": "JSON Patch", "text": "OLD" } 

如何使用 C# 应用这样的补丁?

[ { "op": "replace", "path": "/text", "value": "NEW VALUE" } ] 

这是如何使用 C# 和 .NET 核心完成的?

最佳答案

这是应用补丁的代码片段:

using System;
using System.Collections.Generic;
                    
public class Program
{
    public static void Main()
    {
        var json="{ \"name\": \"JSON Patch\", \"text\": \"OLD\" }";
        var jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject(json);
        var operationStrings = "[ { \"op\": \"replace\", \"path\": \"/text\", \"value\": \"NEW VALUE\" } ] ";
        var ops = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Microsoft.AspNetCore.JsonPatch.Operations.Operation>>(operationStrings);
        
        var patchDocument = new Microsoft.AspNetCore.JsonPatch.JsonPatchDocument(ops, new Newtonsoft.Json.Serialization.DefaultContractResolver());
        
        patchDocument.ApplyTo(jsonObj);
        Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(jsonObj));
    }
}

关于c# - 如何将 json-patch 应用于 .net core 中的纯 json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63889672/

相关文章:

java - 将 json 简单库导入 Android Studio 时出错

javascript - 如何从 JSON 文件获取 JSON 数据

mongodb - 使用 dotnet core 连接到 mongodb

c# - F# 错误类型 'X' 与类型 'X' 不兼容

c# - 2 级联接 LINQ

ios - 无法通过在 Swift 3.2 中解析其显示为字符串格式来获取数组

authentication - AuthorizationHandlerContext 中的声明在 HandleRequirementAsync 中为空

node.js - 如何将 Angular 2 应用程序与 .net core 连接

c# - 如何以编程方式打开特定的彭博终端页面?

c# - 在 C# 中实现代理或装饰器类的最短方法是什么?