stream-write-json ( obj stream -- ) - Factor Documentation

stream-write-json ( obj stream -- )


Vocabulary
json

Inputs
obj an object
stream an object


Outputs
None

Definition
IN: json

GENERIC#: stream-write-json 1 ( obj stream -- )


Methods
USING: assocs json json.private ;

M: assoc stream-write-json write-json-assoc ;


USING: io json kernel ;

M: f stream-write-json [ drop "false" ] [ stream-write ] bi* ;


USING: io json kernel math ;

M: float stream-write-json [ float>json ] [ stream-write ] bi* ;


USING: io json kernel math math.parser ;

M: integer stream-write-json
[ number>string ] [ stream-write ] bi* ;


USING: io json kernel ;

M: json-null stream-write-json
[ drop "null" ] [ stream-write ] bi* ;


USING: io json kernel math math.parser ;

M: real stream-write-json
[ >float number>string ] [ stream-write ] bi* ;


USING: io json kernel sequences ;

M: sequence stream-write-json
91 over stream-write1 swap over [ [ 44 ] ] dip
[ stream-write1 ] curry compose pick
[ stream-write-json ] curry interleave 93 swap stream-write1
;


USING: combinators io json json.private kernel namespaces
sequences strings ;

M: string stream-write-json
34 over stream-write1 swap [
{
{ 34 [ "\\\"" over stream-write ] }
{ 92 [ "\\\\" over stream-write ] }
{
47
[
json-escape-slashes? get
[ "\\/" over stream-write ]
[ 47 over stream-write1 ] if
]
}
{ 8 [ "\\b" over stream-write ] }
{ 12 [ "\\f" over stream-write ] }
{ 10 [ "\\n" over stream-write ] }
{ 13 [ "\\r" over stream-write ] }
{ 9 [ "\\t" over stream-write ] }
{ 8232 [ "\\u2028" over stream-write ] }
{ 8233 [ "\\u2029" over stream-write ] }
[
{
{ ~quotation~ ~quotation~ }
{ ~quotation~ ~quotation~ }
[ json-escape-unicode? get ]
} cond
[ write-json-generic-escape ]
[ over stream-write1 ] if
]
} case
] each 34 swap stream-write1 ;


USING: io json kernel ;

M: t stream-write-json [ drop "true" ] [ stream-write ] bi* ;


USING: json json.private kernel mirrors ;

M: tuple stream-write-json [ <mirror> ] dip write-json-assoc ;


USING: accessors json kernel words ;

M: word stream-write-json [ name>> ] dip stream-write-json ;

AltStyle によって変換されたページ (->オリジナル) /