|
4 | 4 |
|
5 | 5 | ## 17x the json.Marshal performance |
6 | 6 | ```go |
7 | | -var json []byte = supercereal.Marshal(func(object *supercereal.JSONObject) { |
| 7 | +supercereal.Marshal(func(object *supercereal.Object) { |
8 | 8 | object.Put("firstName", "John") |
9 | 9 | object.Put("lastName", "Smith") |
10 | 10 | object.Put("isAlive", true) |
11 | 11 | object.Put("age", 25) |
12 | | - object.Put("address", func(object *supercereal.JSONObject) { |
| 12 | + object.Put("address", func(object *supercereal.Object) { |
13 | 13 | object.Put("streetAddress", "21 2nd Street") |
14 | 14 | object.Put("city", "New York") |
15 | 15 | object.Put("state", "NY") |
16 | 16 | object.Put("postalCode", "10021-3100") |
17 | 17 | }) |
18 | | - object.Put("phoneNumbers", func(array *supercereal.JSONArray) { |
19 | | - array.Put(func(object *supercereal.JSONObject) { |
| 18 | + object.Put("phoneNumbers", func(array *supercereal.Array) { |
| 19 | + array.Put(func(object *supercereal.Object) { |
20 | 20 | object.Put("type", "home") |
21 | 21 | object.Put("number", "212 555-1234") |
22 | 22 | }) |
23 | | - array.Put(func(object *supercereal.JSONObject) { |
| 23 | + array.Put(func(object *supercereal.Object) { |
24 | 24 | object.Put("type", "office") |
25 | 25 | object.Put("number", "646 555-4567") |
26 | 26 | }) |
27 | | - array.Put(func(object *supercereal.JSONObject) { |
| 27 | + array.Put(func(object *supercereal.Object) { |
28 | 28 | object.Put("type", "mobile") |
29 | 29 | object.Put("number", "123 456-7890") |
30 | 30 | }) |
31 | 31 | }) |
32 | | - object.Put("children", func(array *supercereal.JSONArray) {}) |
| 32 | + object.Put("children", func(array *supercereal.Array) {}) |
33 | 33 | object.Put("spouse", nil) |
34 | 34 | }) |
35 | 35 | ``` |
36 | 36 |
|
| 37 | +Where `supercereal.Marshal` returns the `[]byte` (here prettified for demonstration): |
| 38 | +```json |
| 39 | +{ |
| 40 | + "firstName": "John", |
| 41 | + "lastName": "Smith", |
| 42 | + "isAlive": true, |
| 43 | + "age": 25, |
| 44 | + "address": { |
| 45 | + "streetAddress": "21 2nd Street", |
| 46 | + "city": "New York", |
| 47 | + "state": "NY", |
| 48 | + "postalCode": "10021-3100" |
| 49 | + }, |
| 50 | + "phoneNumbers": [ |
| 51 | + { |
| 52 | + "type": "home", |
| 53 | + "number": "212 555-1234" |
| 54 | + }, |
| 55 | + { |
| 56 | + "type": "office", |
| 57 | + "number": "646 555-4567" |
| 58 | + }, |
| 59 | + { |
| 60 | + "type": "mobile", |
| 61 | + "number": "123 456-7890" |
| 62 | + } |
| 63 | + ], |
| 64 | + "children": [], |
| 65 | + "spouse": null |
| 66 | +} |
| 67 | +``` |
| 68 | + |
37 | 69 | *Licensed Zlib © 2017 - 2019* |
0 commit comments