code: func (iter *Iterator) ReadArrayCB(callback func(*Iterator) bool) (ret bool) {
  	c := iter.nextToken()
  	if c == '[' {
  		c = iter.nextToken()
  		if c != ']' {
  			iter.unreadByte()
  			if !callback(iter) {
  				return false
  			}
  			c = iter.nextToken()
  			for c == ',' {
  				if !callback(iter) {
  					return false
  				}
  				c = iter.nextToken()
  			}
  			if c != ']' {
  				iter.ReportError("ReadArrayCB", "expect ] in the end, but found "+string([]byte{c}))
  				return false
  			}
  			return true
  		}
  		return true
  	}
  	if c == 'n' {
  		iter.skipThreeBytes('u', 'l', 'l')
  		return true // null
  	}
  	iter.ReportError("ReadArrayCB", "expect [ or n, but found "+string([]byte{c}))
  	return false
  }
docs: // ReadArrayCB read array with callback