Change (string)null behaviors in Utf8JsonWriter
ArgumentNullException when used as a property name, empty string
as a property name if it's already in ReadOnlySpan<char>.
* WriteNull(string)
* WriteBoolean(string, bool)
* WriteNumber(string, *)
* WriteString(string, *)
* WriteStartArray(string)
* WriteStartObject(string)
* WritePropertyName(string)
Emits the null literal (vs the empty string):
* WriteStringValue(string)
* WriteString(*, string)
Since the writer will write null via WriteStringValue, the reader GetString()
now will return null if TokenType is null (matches JsonElement behavior).
Commit migrated from https://github.com/dotnet/corefx/commit/
adce92338911eec22e5c8f9f071ece857de7d624