Paths and options
JSON and YAML differences are reported by a JSONPath-like path:
| Path | Means |
|---|---|
$ |
the root |
$.name |
the name key |
$["key with.dots"] |
a key that is not a plain identifier |
$.items[2] |
the third item |
$doc[1].name |
in the second document of a YAML stream |
$[1].v (actual $[2].v) |
the verified path, and where the item sits in the actual tree |
TreeDiffOptions.IgnorePaths takes paths with wildcards:
| Pattern | Ignores |
|---|---|
$.meta.generatedAt |
that key |
$.items[*].etag |
etag in every item |
$.config.* |
every key under config |
$..id |
every id at any depth |
| Option | Default | Effect |
|---|---|---|
MapOrder |
Insensitive |
Significant reports a different key order |
StrictNumbers |
false |
compare numbers by kind and text, so 1 and 1.0 differ |
NullEqualsMissing |
false |
a key with null equals the key being absent |
IgnorePaths |
none | see above |
CellCap |
4,000,000 | arrays whose lengths multiply to more are aligned by position, not by LCS |
Per call: Scrub(Func<string, string>), Scrub(Regex, string) and IgnoreDefaultScrubbers. See
scrubbing.