// ReadObject read one field from object. // If object ended, returns empty string. // Otherwise, returns the field name. func (iter *Iterator) ReadObject() (ret string) { … } // CaseInsensitive func (iter *Iterator) readFieldHash() int64 { … } func calcHash(str string, caseSensitive bool) int64 { … } // ReadObjectCB read object with callback, the key is ascii only and field name not copied func (iter *Iterator) ReadObjectCB(callback func(*Iterator, string) bool) bool { … } // ReadMapCB read map with callback, the key can be any string func (iter *Iterator) ReadMapCB(callback func(*Iterator, string) bool) bool { … } func (iter *Iterator) readObjectStart() bool { … } func (iter *Iterator) readObjectFieldAsBytes() (ret []byte) { … }