2016-03-21 4 views
2

JsonPathを使用してユーザーが追加および編集できるようにするJsonドキュメントがあります。JsonPathを使用してオブジェクトを取得/設定するC#

This答えは、ドキュメントにJsonPathとして表されるパスが含まれている場合にはうまく動作しますが、編集中のドキュメントにJsonPathの一部(またはすべて)が存在しない場合は機能しません。例えば

、私は設定したい: $.test.configuration文書{}{...}いくつかのJSON値を、最終的な結果は次のようになりますように。

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

は、私はまた、C# JsonPath parserを見つけたが、それは私にそれを使用し、指定したパスの作成方法上の任意のアイデアを与えるものではありません。

ご協力いただきありがとうございます。

編集:@cecilphilipの回答に基づいて、私はJsonDiffPatchが私のニーズに最適です!

+0

私の理解では、JSON Pathは実際にはクエリに使用されているため、存在しないノードに問題がある理由を説明している場合があります。 JSON Patchを見てみましたか? http://jsonpatch.com/ – cecilphillip

+0

これは私が探していたものです。私はJson.NETと互換性のあるJSONパッチ(https://github.com/mcintyre321/JsonDiffPatch)の.NET実装を見つけました。これを答えてください、私は受け入れます。ありがとう! – Ani

答えて

1

JSONパスは実際にクエリするためのもので、存在しないノードに問題がある理由を説明している場合があります。 JSON Patchを見てみましたか? jsonpatch.com。これはおそらくあなたが必要とするものです。