Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goal
Allow bulk extraction of JSON data from a parsed JSON collection structure based on the
JsonCollectionPathsyntax.Design
Introduced
JsonDataExtractoras asealed classwith implementations for the various types of data extraction we want to run within the SDK. Each of the extractors "stringify" their data before sending it to an arbitraryoutputfunction.LiteralPathExtractorextract all of the data for a given path without processing itRelativeAddressExtractorcalculate and emit the hex-string for the relative address of an arbitrary stack frameRegexExtractoreither filter based on a regex, or extract groups from the source contentFilterExtractor(the most complex) filter elements by requiring some number of conditions be metTesting
New unit tests were added for each of the extraction types.