Number
#3
| URL | https://gw.tape.network/track/BHy97AHcz1YW1iwFkqfnzTAQZ9FH7isYFSEv2fbzet3m |
|---|---|
| Tape | 6H5aH...HmRUk |
| Owner | 6H9FN...SWpyU ↗ |
| Content Key | 6GREc...QYfec |
| Status | ● Expired |
| Type | User |
| Filename | obj-21183-8468.go |
| Content-Type | text/plain |
| Encoding | Inline |
| Size | 684 B |
| Spool Group | 8 |
00000000 70 61 63 6b 61 67 65 20 6d 61 69 6e 0a 0a 69 6d |package main..im|
00000010 70 6f 72 74 20 28 0a 09 22 62 79 74 65 73 22 0a |port (.."bytes".|
00000020 09 22 65 6e 63 6f 64 69 6e 67 2f 6a 73 6f 6e 22 |."encoding/json"|
00000030 0a 09 22 66 6d 74 22 0a 09 22 69 6f 22 0a 09 22 |.."fmt".."io".."|
00000040 6f 73 22 0a 29 0a 0a 2f 2f 20 50 72 65 74 74 79 |os".)..// Pretty|
00000050 20 76 61 6c 69 64 61 74 65 73 20 4a 53 4f 4e 20 | validates JSON |
00000060 61 6e 64 20 66 6f 72 6d 61 74 73 20 69 74 20 77 |and formats it w|
00000070 69 74 68 20 74 77 6f 2d 73 70 61 63 65 20 69 6e |ith two-space in|
00000080 64 65 6e 74 61 74 69 6f 6e 2e 0a 66 75 6e 63 20 |dentation..func |
00000090 50 72 65 74 74 79 28 73 72 63 20 5b 5d 62 79 74 |Pretty(src []byt|
000000a0 65 29 20 28 5b 5d 62 79 74 65 2c 20 65 72 72 6f |e) ([]byte, erro|
000000b0 72 29 20 7b 0a 09 76 61 72 20 64 73 74 20 62 79 |r) {..var dst by|
000000c0 74 65 73 2e 42 75 66 66 65 72 0a 09 69 66 20 65 |tes.Buffer..if e|
000000d0 72 72 20 3a 3d 20 6a 73 6f 6e 2e 49 6e 64 65 6e |rr := json.Inden|
000000e0 74 28 26 64 73 74 2c 20 62 79 74 65 73 2e 54 72 |t(&dst, bytes.Tr|
000000f0 69 6d 53 70 61 63 65 28 73 72 63 29 2c 20 22 22 |imSpace(src), ""|
00000100 2c 20 22 20 20 22 29 3b 20 65 72 72 20 21 3d 20 |, " "); err != |
00000110 6e 69 6c 20 7b 0a 09 09 72 65 74 75 72 6e 20 6e |nil {...return n|
00000120 69 6c 2c 20 65 72 72 0a 09 7d 0a 09 64 73 74 2e |il, err..}..dst.|
00000130 57 72 69 74 65 42 79 74 65 28 27 5c 6e 27 29 0a |WriteByte('\n').|
00000140 09 72 65 74 75 72 6e 20 64 73 74 2e 42 79 74 65 |.return dst.Byte|
00000150 73 28 29 2c 20 6e 69 6c 0a 7d 0a 0a 66 75 6e 63 |s(), nil.}..func|
00000160 20 6d 61 69 6e 28 29 20 7b 0a 09 73 72 63 2c 20 | main() {..src, |
00000170 65 72 72 20 3a 3d 20 69 6f 2e 52 65 61 64 41 6c |err := io.ReadAl|
00000180 6c 28 6f 73 2e 53 74 64 69 6e 29 0a 09 69 66 20 |l(os.Stdin)..if |
00000190 65 72 72 20 21 3d 20 6e 69 6c 20 7b 0a 09 09 66 |err != nil {...f|
000001a0 6d 74 2e 46 70 72 69 6e 74 6c 6e 28 6f 73 2e 53 |mt.Fprintln(os.S|
000001b0 74 64 65 72 72 2c 20 22 72 65 61 64 3a 22 2c 20 |tderr, "read:", |
000001c0 65 72 72 29 0a 09 09 6f 73 2e 45 78 69 74 28 31 |err)...os.Exit(1|
000001d0 29 0a 09 7d 0a 0a 09 6f 75 74 2c 20 65 72 72 20 |)..}...out, err |
000001e0 3a 3d 20 50 72 65 74 74 79 28 73 72 63 29 0a 09 |:= Pretty(src)..|
000001f0 69 66 20 65 72 72 20 21 3d 20 6e 69 6c 20 7b 0a |if err != nil {.|
00000200 09 09 66 6d 74 2e 46 70 72 69 6e 74 6c 6e 28 6f |..fmt.Fprintln(o|
00000210 73 2e 53 74 64 65 72 72 2c 20 22 69 6e 76 61 6c |s.Stderr, "inval|
00000220 69 64 20 4a 53 4f 4e 3a 22 2c 20 65 72 72 29 0a |id JSON:", err).|
00000230 09 09 6f 73 2e 45 78 69 74 28 31 29 0a 09 7d 0a |..os.Exit(1)..}.|
00000240 0a 09 69 66 20 5f 2c 20 65 72 72 20 3a 3d 20 6f |..if _, err := o|
00000250 73 2e 53 74 64 6f 75 74 2e 57 72 69 74 65 28 6f |s.Stdout.Write(o|
00000260 75 74 29 3b 20 65 72 72 20 21 3d 20 6e 69 6c 20 |ut); err != nil |
00000270 7b 0a 09 09 66 6d 74 2e 46 70 72 69 6e 74 6c 6e |{...fmt.Fprintln|
00000280 28 6f 73 2e 53 74 64 65 72 72 2c 20 22 77 72 69 |(os.Stderr, "wri|
00000290 74 65 3a 22 2c 20 65 72 72 29 0a 09 09 6f 73 2e |te:", err)...os.|
000002a0 45 78 69 74 28 31 29 0a 09 7d 0a 7d |Exit(1)..}.}|