Add enum RawKind
and is_*
to RawValue
#1223
Open
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.
I mentioned the proc-macro based JSON processor I'm using in PR #1221. This processor ultimately converts the JSON to a Deserializable Rust struct. While converting, it has specialized null handling and custom
Error
s for missing fields and such.To accomplish this I currently use an extension trait to provide methods that report what JSON kind (null, bool, string, etc) the
RawValue
contains and a set of tests to assert the invariants of aRawValue
. Invariants such as:RawValue
has whitespace stripped during deserializationRawValue
.I think knowing the type of a
RawValue
can be useful to all users ofserde_json
.What do you think?