►
From YouTube: .NET Design Review: JSON
Description
-01:-21:-41 - Approved: We should base64 encode byte[] when writing Json https://github.com/dotnet/corefx/issues/36974#issuecomment-497411886
00:21:44 - Approved: JsonSerializer writing into Utf8JsonWriter https://github.com/dotnet/corefx/issues/36714#issuecomment-497417558
00:39:15 - Approved: JsonSerializer reading from Utf8JsonReader https://github.com/dotnet/corefx/issues/36717#issuecomment-497418459
00:40:55 - Needs Work: Utf8JsonReader\Writer should support all primitive types https://github.com/dotnet/corefx/issues/36125#issuecomment-497424987
B
So
here
discussed:
writing
Bay
City
for
previously
on
the
rider
api's
and
we
what
the
viewer
needed.
However,
on
the
street
hazardous
utilizar
vibrators,
are
commonly
encode
and
decode
as
basically
four.
So
we
want
that
behavior
regardless
and
if
the
sea
dancer
has
the
behavior,
it
might
add
the
API,
don't
read
and
write
as
well,
and
that's
because
that's
what
the
citizen
leverages
the
proposal
is
to
add
four
right,
basically
four
api's
and
get
by
say
P
as
on
the
reader
side.
So
you
get
both
basically
core
strings.
B
Some
questions
are
just
on
our
naming
actively
and
this
magical
throwing
I
chose
write
as
density
for
string
because
we
write
bytes
as
basically
for
a
string,
I'm,
okay
with
either
bytes
or
basically
for
having
it
be
a
suffix
didn't
seem
right
because
that
I've
seen
now
I
didn't
follow
our
existing
ideas.
We
have
you
had
string
as
a
suffix.
A
Okay,
so
let's
pick
up
of
these
two
first,
let's
talk
about
the
writer
yeah
I
think
the
writer
makes
a
lot
of
sense
to
me.
Is
it's
proposed
because
basically
you're
saying
what
you're
writing
it
makes
you
little
a
few
guys
that
we
have
on
it
the
nobody
else
can
see,
but
hey
I
am
like
that
it
so
the
existing
one.
We
already
have
right.
Boolean
write
a
comment
right
now,
right
number
right
start
erase.
Basically
the
methods
are
basically
what
is
kind
of
a
token
I
guess
yeah.
A
C
B
A
Replace
as
within
my
point,
is
more
like
you're
writing
a
string,
which
is
why
it
makes
sense
that
the
method
starts
off
right
string
and
then
basically
the
type
itself
is
not
indicated
enough
to
just
make
it
an
overload.
And
that's
why
I
just
said
like
you
just
started
with
the
you're:
writing
a
string
token
so
that
for
the
method,
its
right
string
and
then
you
say
in
base64
or
like
base64-encoded
or
whatever
they're
use.
But
this.
F
F
A
I'm
confused
by
that,
because,
basically,
when
you
say
look
at
the
writer
today,
we
have,
for
example,
right
number,
which
is
several
overloads.
One
of
them
is,
we
know,
only
spend
occupy
it.
Some
of
them
has
been
only
spent
off
char.
Some
of
it
is
a
decimal
double
whatever
right.
Basically,
the
methods
that
we
have
on
the
writer
are
named
by
what
they
generate
in
the
JSON:
yes,
not
what
they
take
in
terms
of
inputs.
A
B
E
The
important
thing,
the
contextual
thing
is:
you're
writing
base64
and
then
you're.
Writing
it
as
a
string,
and
so,
if
you're
going
to
be
looking
for
it,
you're
not
gonna.
Look
for
a
write
straight,
but
you're
gonna
look
for
write,
base64
and
then
the
string
is
just
contextually
telling
you
we're
emitting
it
as
a
string
token.
So.
D
D
D
A
Yeah
we
generally
do
suffixes,
but
like
I
yeah,
either
way
it
works.
For
me,
like
all
I'm
saying,
is
that
the
given
a
VI
pattern
that
we
currently
have
is
that
Li,
the
prefix
is
always
the
je
suis
primitive,
but
I
am
I
just
feel
like
it's.
It's
a
DNA,
it's
up
to
the
people
that
the
youth
Jason
all
they
think
about
it.
The
only
thing
we
should
avoid
is
that
I
died
because
of
coffee.
A
They
will
be
said
and
remember.
The
one
API
will
be
labeled
ID.
Yes,
we
would,
and
we
would
remember
that
I'm
still
cold
in
the
room.
That's
what
it
is.
It's
too
cold
in
this
room.
No
I
think
that.
So
the
question
is,
would
somebody
ask
when
you
see
base64?
Is
it
clear
that
it's
a
string,
whether
that's
a
byte
array
right
and
you
could
say
that
you
say
basically,
four
string.
B
Maybe
that's
enough
right.
The
question
would
be
for
the
other
approach,
but
you
have
right
string
basically
for
what
has
become
for
right
string
value
where
we
just
have
a
value,
because
currently
right
basically
for
string
value
is
easier
to
read.
Then
I
string,
basically
for
value
that
rental
value.
A
B
G
D
C
Not
that
seems
a
little
long
and
verbose,
but
it's
also
I
think
kind
of
adequately
descriptive,
but
it's
shorter
than
they
get
base64,
encoded,
bytes
and
yet
base64
encoded
bite
also
makes
it
sound
like
you're
going
to
get
the
byte
representation
of
base64
encoded
text,
which
is
Jesus,
Christ,
yeah
and
you're
good
mate.
Yeah
right
you
could.
You
could
conclude
that
and
it
does
the
opposite.
It
decodes
base64,
yeah,
yeah,.
A
D
D
B
D
E
D
B
A
D
B
A
B
D
D
D
If
it's
sorry
get
bytes
is
throwing
chromatic
section
yeah,
so
try
and
get
bytes
that
could
write
to
a
span.
Is
it
returning
false
because
the
content
isn't
base64?
Is
it
returning
false
because
the
spans
too
short,
because
you
can't
tell
the
difference
it's
not
suitable
for
a
try,
API
and
we
have
no
span
a
key?
Is
that
we
have
no
way
of
predicting
the
links
I.
B
G
E
K
K
D
B
E
B
G
D
B
You
may
want
to
go
to
the
next
one,
because
that
has
both
of
them.
This
is
cool
to
the
bottom.
C
B
B
We
have
resistant
api's,
we
have
overdose
for
parts,
it
takes
a
span
of
byte
string
and
we
have
two
for
writing
as
two
bytes
to
string
and
write
a
single
one
of
them
takes
the
object.
There
are
takes
a
return
type.
We
follow
the
same
thing
here.
You
have
two
overloads
on
real
value,
one
either
and
they
are
return
type
another
generator.
B
Similarly,
we
have
right
value
right
as
value
overloads
and
right
as
property
alerts
and
these
match.
That
is
the
same
JSON
document
and
just
an
element
abs
for
a
few
questions.
One
is
parameter
or
drain
in
the
case
of
the
output
sink,
providing
the
right
stream
and
the
rider
is
not
the
first
parameter,
but
for
the
input
source
and
the
stream
or
reader
is
the
first
parameter
to
be
consistent
across
the
board
and
or
leaving
the
Raiders.
B
Is
it
okay
for
because
you're
reading
from
the
source
and
then
writing
into
an
object?
Maybe
it's
fine
to
have
a
reader
before
and
the
right
in
the
right
case
we
write
into
octave
saying,
but
the
most
important
thing
is
the
object.
They'll
be
writing,
so
maybe
the
ordering
is
fine
which
it
was
concerned.
I
was
brought
up
on
I
think
we
probably
should
settle
on
it.
I
Yeah
I
mean
originally
I
think
that
the
thinking
was
that
your
object
and
and
the
optional
type
parameter
are
more
important.
You
know
more
pertinent
and
the
stream
or
pipe
writer
or
whatever
you
know,
kind
of
ease,
think
think
you're
gonna
write
to
so
that's
why
they're
first
and
why
they're
not
first
on
the
other
one.
Is
this
because
they
physically
don't
exist
because
that's
the
return
value.
B
G
B
G
C
B
I
B
The
change,
okay,
so
that's
a
question
suppose
around
Reed
value,
as
a
name
for
cysts,
that's
read:
you
have
read
a
sink
that
takes
a
stream
that
reads
as
much
as
possible
from
the
stream
the
real
value
gets
here.
The
reason
why
I
read
value
is
because
the
only
already
the
next
open,
whether
it
be
a
straddle
they
can
raise
till
the
end.
If
you
start
off,
they
go
strawberry
or
this
primitive
all
in
sales
might
get
attention
of
motocross
track,
which
is
why
I
have
the
values
of
x
there.
B
B
B
B
What
was
the
third
thing.
I
was
just
typing
notes.
We
have
right
as
value
and
writers
property
because
we
don't
have
mainly
football
and
also
we
don't
have
a
rider
API
that
takes
just
the
lesser
user,
just
right,
property
name.
E
B
D
D
A
E
E
The
writer
has
a
bunch
of
them
like
right,
property,
indented
and
all
kind
of
stuff
like
that,
and
it
never
uses,
as
so,
especially
with
these
being
using
the
writer.
And
if
we're
going
to
change
it,
to
make
the
rider
be
the
first
element
and
if
they
were
ever
extension
methods,
then
no,
as
could
be
the
most
consistent.
B
A
Yeah
I
mean
logically,
what
you
want
to
do
is
you
want
to
say
the
setting
that
is
most
local
wins
right
right,
if
you,
so
if
you
basically
have,
if
you
think
of
the
still
are
the
options
that
global
options
and
you
think
other
divider
is
the
thing
that
you
instantiate
it
afterwards.
It
is
more
local
than
the
role
option.
A
B
B
B
E
Understand
that
it's
normally
not
an
issue
I'm
just
saying
what
conceptually
I
find
it
at
least
initially
confusing
that
you
would
have
serializer
options
and
reader
options
overlap
with
each
other
and
I
hate.
This
we
have.
Some
of
them
went
out
over
the
other,
like
there's
a
weird
Union
there
that
you
wouldn't
initially
think
of
you.
B
C
B
L
B
D
L
L
D
B
A
I
L
A
B
So
the
Sierra's
are
supports
alternate
types
effectively
like
we
have
char
by
its
uses,
a
spider
short
short,
but
the
reader
writer
do
not
provide
API.
Is
that
let
you
get
by
there,
a
spider
cetera,
so
we
have
getting
ready
to
get
n64,
get
string,
etc.
It's
simply
going
right
over
you
right
in
for
you
to
insult
you,
but
not
these
smaller
numeric
types
and
not
chart.
B
A
B
B
A
B
E
I
D
And
really
sterilizing
your
character
be
good,
so
I
would
honestly
advocate
that
the
serializer
should
not
support
serializing
the
type
char,
because
it
cannot
represent
the
full
range
of
char
and
it
cannot.
It
can't
write
an
unpaired
surrogate
and
can't
read
and
unpaired
surrogate,
so
it's
actually
not
doing
what
it
says
it's
doing.
Did
it
probably
be
really
since
that's
going
to.
A
B
A
The
only
person
reason
I'm
asking
is
like
I
have
no
idea
what
the
cost
is,
but
the
problem
is
like
you
know:
we
had
this
discussion
many
times
over.
Girl
should
be
support
us
and
was
like.
Oh
okay,
that's
it
was
complicated.
We
don't
know
exactly
what
the
policy
should
be
right
and
all
I'm
saying
is
that
if
your
arguments
we
should
support
the
inbox
sides.
Well,
that
that
is
a
you
know,
sizable
you
know
said,
and
then
the
question
is
like
is
there?
Some
point
is
like
this.
B
E
J
E
A
But
I
think
this
goes
back
to
like
I,
think
I.
Think
Jeremy
as
a
point.
If
you
make
a
poll
on
the
stream
of
the
people,
consider
primitive
types.
It
basically
boils
down
to
that.
Yeah,
like
you
know,
a
Rendel
type
that
has
no
keyboard
support.
Well,
that's
the
tire,
but
like
I,
don't
care
about
things
that
have
C
sharp
keywords.
It's
always
surprised
to
be
able
to
learn
the
decimal.
It's
not
a
primitive
type.
It's
like
what
do
you
mean
like
it's
primitive?
No,
it's
not.
B
So
one
of
the
questions
is
like
it
makes
sense
to
add
them
on
the
reader
right,
but
on
the
rider
the
bite
s
bite
short
would
just
implicitly
cost
to
int.
Anyway,
the
only
differences
we
have
previously
had
the
stands
that
whatever
the
reader
can
read,
the
writer
should
be
bright,
I'm,
a
sorcerer
for
completion.
It
doesn't.
B
D
E
So
no
like
it
is
a
conversion
is
not
the
true
for
F
sharp
or
you
don't
have
implicit
conversions
and
where
you're
going
to
have
to
have
a
buy
overload
for
them
to
write
de
l'air,
bytes
single
but
yeah.
If
you
have
a
bite,
whatever
I'll
write,
what
about
16-bit
integer
does
their
version
of
short
convert
int?
They
happen,
zero,
implicit
conversion
and
say
I've
got
they've
got
some
other
primitive
types.
They
do
not
have
implicit
conversion
and
they
have
literal
support
for
both
bite
s,
byte
short
and
you
short,
literals
right.
D
D
A
Think
any
wines
are
even
so
holds
like.
What's
what's
the
least
surprising
thing
right
and
I
get
I
think
the
naming
is
consistent
with
what
we
have
I
agree
with
the
parity
between
media
and
minors.
I
would
not
a
lot
in
physical
inversions,
especially
because
of
other
languages,
and
other
languages
really
means
F
sharp
yeah.
It's
really.
B
I
E
String,
you
can
only
have
a
surrogate
and
you
can
read
and
write
surrogates
so
that,
but
we
can't
read
a
surrogate.
Why
can't
you
read
a
surrogate
as
a
character,
it's
invalid
to
have
a
string
which
have
a
single
surrogate,
but
it's
completely
about
to
have
a
character
which
is
right
because
that's
my
question
of.
D
C
B
A
B
D
String
throws
right
charged
with
polio
school
like
why?
Would
it
not
a
right
string
value
with
the
char,
with
a
with
a
value
where
charges
surrogate
is
true
should
throw
it
looks
like
that?
A
lot
away.
You
said
right
string,
this
isn't
a
string.
If
you
look
the,
but
it's
okay
number
could
take
a
char
overload
of
like
yep
I'll,
totally
write
this
chart
out
of
the
number
it's
a
you.
Torture,
I'm.
B
D
Try
a
charger,
so
it
depends
really
if
we're
gonna
we're
going
to
read
the
first
room
and
if
it
fits
in
a
single
char.
Sorry,
if
we're
going
yeah
we're
going
to
read
a
rune
and
it
was
only
one
room
and
then
we're
gonna
return,
it
get.
It
fits
inside
one
utf-16
coat
unit
yeah
and
it
would
just
fail.
I,
don't
fall
sick
drinks
too
long,
because
it's
it's
like
good.
It's
that
it
doesn't.
Look
like
a
charm
look.
C
I'd
like
to
get
James's
input
before
we
make
any
like
final
decisions
on
this
okay,
I
don't
know,
did
you
talk
to
him
about
it?
I
know,
I
wouldn't
try
to
get
any
of.
You
should
try
to
get
his
input
on
this
as
well.
I
also
I
think
that
treating
character
as
an
integer,
instead
of
treating
it
as
a
one
character
string
just
raises
far
fewer
questions
about
how
it's
actually
going
to
behave
and
if
the
reason
why
we
have
this
is
so
that
we
can
define
the
serialization
behavior.
C
B
Okay,
well,
the
question
I
had
was
around
right
string
value
where
we
take
a
bite
that
sayuki
paid
forgiven.
Does
that
matter?
Professionals
you
keep,
it
usually
has
variable
then,
and
it
could
be
about
two
for
there
to
character.
Pairs
for
charge
is
not
hot
as
business
like
riding
a
string
value
where
the
user
passes
in
one
by
utf-8,
:.
D
D
D
B
A
B
A
C
So
I
want
to
get
James's
opinion
because
he
might,
he
might
he's,
got
a
lot
of
experience
with
supporting
actual
users
who's
in
Jason
on
that
and
so
he'll
he'll
either
say
yeah.
This
has
never
come
up
like
I
did
this
because
it
seemed
like
the
right
thing
to
do
and
what
to
do
for
these
invalid
cases
has
honestly
never
come
up
or
he'll,
say
yeah.