2016-03-21 13 views
2

Ich habe ein Json-Dokument, das ich Benutzer hinzufügen und mit JsonPath bearbeiten können.Get/Set-Objekt mit JsonPath C#

This Antwort funktioniert brillant, wenn das Dokument den Pfad enthält, der als JsonPath dargestellt wird, aber nicht funktioniert, wenn ein Teil (oder alle) von JsonPath in dem Dokument, das ich bearbeite, nicht vorhanden ist.

Zum Beispiel möchte ich setzen: $.test.configuration zu einem gewissen Json Wert {...} in einem Dokument {} so dass das Endergebnis sieht wie folgt aus.

{ 
    "test":{ 
     "configuration": {...} 
    } 
} 

Ich habe auch festgestellt, ein C# JsonPath parser, aber es macht mir keine Gedanken darüber, wie es zu benutzen und den angegebenen Pfad erstellen.

Ihre Hilfe wird geschätzt, danke im Voraus!

EDIT: Basierend auf der Antwort von @cecilphilip fand ich JsonDiffPatch, die perfekt für meine Bedürfnisse ist!

+0

von meinem Verständnis, JSON Pfad ist wirklich für die Abfrage, die erklären könnte, warum Sie Probleme mit nicht vorhandenen Knoten haben. Haben Sie darüber nachgedacht, sich JSON Patch anzuschauen? http://jsonpatch.com/ – cecilphillip

+0

Das ist, was ich gesucht habe. Ich habe eine gute .NET-Implementierung des JSON-Patches (https://github.com/mcintyre321/JsonDiffPatch) gefunden, der mit Json.NET kompatibel ist. Bitte mach das eine Antwort und ich werde es akzeptieren. Vielen Dank! – Ani

Antwort

1

JSON Pfad ist wirklich zum Abfragen, was erklären könnte, warum Sie Probleme mit nicht vorhandenen Knoten haben. Haben Sie darüber nachgedacht, sich JSON Patch anzuschauen? jsonpatch.com. Dies ist wahrscheinlich das, was Sie stattdessen brauchen.

Verwandte Themen