json2xml - examples_test.go
1 package json2xml_test
2
3 import (
4 "encoding/json"
5 "encoding/xml"
6 "fmt"
7 "strings"
8
9 "vimagination.zapto.org/json2xml"
10 )
11
12 func Example() {
13 var buf strings.Builder
14
15 jsonData := `` +
16 `[
17 {
18 "A": [
19 {
20 "B": 3.14159,
21 "C": null
22 },
23 "D",
24 "E",
25 null,
26 1.234
27 ],
28 "F": 123
29 },
30 "G"
31 ]`
32
33 x := xml.NewEncoder(&buf)
34
35 x.Indent("", "\t")
36
37 if err := json2xml.Convert(json.NewDecoder(strings.NewReader(jsonData)), x); err != nil {
38 fmt.Printf("unexpected error: %s\n", err)
39
40 return
41 }
42
43 x.Flush()
44
45 fmt.Println(buf.String())
46
47 // Output:
48 // <array>
49 // <object>
50 // <array name="A">
51 // <object>
52 // <number name="B">3.14159</number>
53 // <null name="C"></null>
54 // </object>
55 // <string>D</string>
56 // <string>E</string>
57 // <null></null>
58 // <number>1.234</number>
59 // </array>
60 // <number name="F">123</number>
61 // </object>
62 // <string>G</string>
63 // </array>
64 }
65