@@ -4,59 +4,59 @@ title: Additional Classes
44nav_order : 99
55---
66
7- ## Additional Classes
7+ # Additional Classes
88
99In addition to JSONPath, a few additional classes are provided to support pointer-style
1010property diving, element comparisons, and dynamic property access.
1111
12- ### JsonNodeFactory
12+ ## JsonNodeFactory
1313
1414The JsonNodeFactory efficiently converts a ` JsonElement ` to a ` JsonNode ` with minimal memory allocation. This
1515method performs substantially better than the common serialize deserialize, or parse raw string techniques.
1616
17- | Class | Description
18- |:---------------------------|:-----------
19- | ` JsonNodeFactory ` | Efficiently convert a ` JsonElement ` to a ` JsonNode `
17+ | Class | Description
18+ |:---------------------------------- |:-----------
19+ | ` JsonNodeFactory ` | Efficiently convert a ` JsonElement ` to a ` JsonNode `
2020
2121
22- ### JsonPath Pointer
22+ ## JsonPath Pointer
2323
2424JsonPathPointer acts ** similarly** to JSON Pointer; it expects an absolute path that returns a single element.
2525Unlike JSON Pointer, property diving notation expects normalized JSON Path notation.
2626
27- | Class | Description
28- |:----------------------------------- |:-----------
29- | ` JsonPathPointer<JsonElement> ` | Dives for properties using absolute locations like ` $.store.book[2].author `
27+ | Class | Description
28+ |:----------------------------------|:-----------
29+ | ` JsonPathPointer<JsonElement> ` | Dives for properties using absolute locations like ` $.store.book[2].author `
3030
3131The syntax supports absolute (normalized) paths; dotted notation, quoted names, and simple bracketed array accessors only.
3232The intention is to return a single element by literal path.
3333
3434Json path style wildcard '* ', '..', and '[ a,b] ' multi-result selector notations and filters are ** not** supported.
3535
36- ### JsonElement Path
36+ ## JsonElement Path
3737
3838Unlike ` JsonNode ` , ` JsonElement ` does not have a ` Path ` property. ` JsonPathBuilder ` will find the path
3939for a given ` JsonElement ` .
4040
41- | Class | Description
42- |:---------------------------|:-----------
43- | ` JsonPathBuilder ` | Returns the JsonPath location string for a given element
41+ | Class | Description
42+ |:---------------------------------- |:-----------
43+ | ` JsonPathBuilder ` | Returns the JsonPath location string for a given element
4444
45- ### Equality Helpers
45+ ## Equality Helpers
4646
47- | Method | Description
48- |:----------------------------------- |:-----------
49- | ` JsonElement.DeepEquals ` | Performs a deep equals comparison on two ` JsonElements `
50- | ` JsonElementDeepEqualityComparer ` | A deep equals equality comparer that compares two ` JsonElements `
47+ | Method | Description
48+ |:----------------------------------|:-----------
49+ | ` JsonElement.DeepEquals ` | Performs a deep equals comparison on two ` JsonElements `
50+ | ` JsonElementDeepEqualityComparer ` | A deep equals equality comparer that compares two ` JsonElements `
5151
52- ### Dynamic Object Serialization
52+ ## Dynamic Object Serialization
5353
5454Basic support is provided for serializing to and from dynamic objects through the use of a custom ` JsonConverter ` .
5555The ` DynamicJsonConverter ` class is useful for simple scenareos. It is intended as a simple helper for
5656basic use cases only. A helper methods ` JsonHelper.ConvertToDynamic ` is provided to simplify the process of
5757serializing and deserializing dynamic objects.
5858
59- #### Example: ConvertToDynamic
59+ ### Example: Convert To Dynamic
6060
6161``` csharp
6262var root = JsonDocument .Parse (jsonInput ); // jsonInput contains the bookstore example
@@ -70,7 +70,7 @@ Assert.IsTrue( price == 8.95 );
7070Assert .IsTrue ( author == " Nigel Rees" );
7171```
7272
73- #### Example: Serialize To Dynamic
73+ ### Example: Serialize To Dynamic
7474
7575``` csharp
7676var serializerOptions = new JsonSerializerOptions
@@ -88,7 +88,7 @@ var jsonOutput = JsonSerializer.Serialize<dynamic>( jobject, serializerOptions )
8888Assert .IsTrue ( jsonInput == jsonOutput );
8989```
9090
91- ##### Enum handling
91+ #### Enum handling
9292
9393When deserializing, the converter will treat enumerations as strings. You can override this behavior by setting
9494the ` TryReadValueHandler ` on the converter. This handler will allow you to intercept and convert string and
0 commit comments