on 492ae2f help sign in
78 lines 1.5 kB history raw
1### `++pojo`
3Print JSON
5Renders a [`++json`]() `val` as a [`++tape`]().
7Accepts
8-------
10`val` is a [`json`]().
12Produces
13--------
15A `++tape`.
17Source
18------
20 ++ pojo :: print json
21 |= val=json
22 ^- tape
23 ?~ val "null"
24 ?- -.val
25 %a
26 ;: weld
27 "["
28 =| rez=tape
29 |- ^+ rez
30 ?~ p.val rez
31 $(p.val t.p.val, rez :(weld rez ^$(val i.p.val) ?~(t.p.val ~ ",")))
32 "]"
33 ==
34 ::
35 %b ?:(p.val "true" "false")
36 %n (trip p.val)
37 %s
38 ;: welp
39 "\""
40 %+ reel
41 (turn (trip p.val) jesc)
42 |=([p=tape q=tape] (welp +<))
43 "\""
44 ==
45 %o
46 ;: welp
47 "\{"
48 =+ viz=(~(tap by p.val) ~)
49 =| rez=tape
50 |- ^+ rez
51 ?~ viz rez
52 %= $
53 viz t.viz
54 rez
55 :(welp rez "\"" (trip p.i.viz) "\":" ^$(val q.i.viz) ?~(t.viz ~ ","))
56 ==
57 "}"
58 ==
59 ==
60 ::
62Examples
63--------
65 ~zod/try=> (pojo [%n '12.6'])
66 "12.6"
67 ~zod/try=> (crip (pojo %n '12.6'))
68 '12.6'
69 ~zod/try=> (crip (pojo %s 'samtel'))
70 '"samtel"'
71 ~zod/try=> (crip (pojo %a ~[(jone 12) (jape "ha")]))
72 '[12,"ha"]'
73 ~zod/try=> (crip (pojo %a ~[(jone 12) ~ (jape "ha")]))
74 '[12,null,"ha"]'
75 ~zod/try=> (crip (pojo %o (mo sale/(jone 12) same/b/| ~)))
76 '{"same":false,"sale":12}'