Skip to content

Commit 8ffcad5

Browse files
authored
Merge pull request #64 from rami-dabain/master
Update and small fix in README.md
2 parents 8c2d6bb + 0541194 commit 8ffcad5

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

README.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,16 @@ if value, _, err := jsonparser.GetInt(data, "company", "size"); err == nil {
5555
size = value
5656
}
5757

58-
// You can use `ArrayEach` helper to iterate items
58+
// You can use `ArrayEach` helper to iterate items [item1, item2 .... itemN]
5959
jsonparser.ArrayEach(data, func(value []byte, dataType jsonparser.ValueType, offset int, err error) {
6060
fmt.Println(jsonparser.Get(value, "url"))
61-
}, "person", "gravatar", "avatars")
61+
}, "person", "avatars")
62+
63+
// You can use `ObjectEach` helper to iterate objects { "key1":object1, "key2":object2, .... "keyN":objectN }
64+
jsonparser.ObjectEach(data, func(key []byte, value []byte, dataType jsonparser.ValueType, offset int) error {
65+
fmt.Printf("Key: '%s'\n Value: '%s'\n Type: %s\n", string(key), string(value), dataType)
66+
return nil
67+
}, "person", "name")
6268
```
6369

6470
## Need to speedup your app?
@@ -125,6 +131,20 @@ func ArrayEach(data []byte, cb func(value []byte, dataType jsonparser.ValueType,
125131
```
126132
Needed for iterating arrays, accepts a callback function with the same return arguments as `Get`.
127133

134+
### **`ObjectEach`**
135+
```go
136+
func ObjectEach(data []byte, callback func(key []byte, value []byte, dataType ValueType, offset int) error, keys ...string) (err error)
137+
```
138+
Needed for iterating object, accepts a callback function. Example:
139+
```go
140+
var handler func([]byte, []byte, jsonparser.ValueType, int) error
141+
handler = func(key []byte, value []byte, dataType jsonparser.ValueType, offset int) error {
142+
//do stuff here
143+
}
144+
jsonparser.ObjectEach(myJson, handler)
145+
```
146+
147+
128148
### **`KeyEach`**
129149
```go
130150
func KeyEach(data []byte, cb func(idx int, value []byte, dataType jsonparser.ValueType, err error), paths ...[]string)

0 commit comments

Comments
 (0)