Neu in .NET 10.0 [41]: JSON Patch für Mengen und primitive Typen
JSON Patch in System.Text.Json kann man auch auf Mengen anwenden – und auch auf primitive Typen.
(Bild: Pincasso / Shutterstock.com)
Lesezeit:
1 Min.
Von
- Dr. Holger Schwichtenberg
In .NET 10.0 ist es möglich, JSON Patch auf Arrays anzuwenden.
Das folgende Beispiel mit System.Text.Json Version 10.0 zeigt ein JsonPatchDocument, das ein Zahlenarray verändert:
List<int> Zahlen = [1, 2, 3, 4, 5];
string jsonPatchZahlen = """
[
{ "op": "add", "path": "/2", "value": 42 },
{ "op": "remove", "path": "/0" },
{ "op": "replace", "path": "/2", "value": 99 },
{ "op": "test", "path": "/0", "value": 2 },
{ "op": "test", "path": "/1", "value": 42 },
{ "op": "test", "path": "/2", "value": 99 },
{ "op": "test", "path": "/3", "value": 4 },
{ "op": "test", "path": "/4", "value": 5 }
]
""";
JsonPatchDocument<List<int>>? patchZahlen = JsonSerializer.Deserialize<JsonPatchDocument<List<int>>>(jsonPatchZahlen);
patchZahlen!.ApplyTo(Zahlen, patchError => CUI.PrintError(patchError.ErrorMessage));
foreach (var z in Zahlen)
{
Console.WriteLine(z);
}
Ausgabe des Codebeispiels
(rme)