pub fn to_object_iter<'de, I: JsonInput<'de>>(json: I) -> ObjectJsonIter<'de> {
    ObjectJsonIter::new(json, true)
}
Traverse the JSON object text through a lazy iterator. The JSON parsing will doing when
iterating.

The item of the iterator is a key-value pair: ([FastStr][`faststr::FastStr`],
[`Result<LazyValue>`][`crate::LazyValue`]).

# Errors

If the JSON is empty, not a object or parse error, the result will be Err and the `next()` will
return `None`.

# Examples

```
# use sonic_rs::to_object_iter;
use faststr::FastStr;
use sonic_rs::JsonValueTrait;

let json = FastStr::from(r#"{"a": null, "b":[1, 2, 3]}"#);
for ret in to_object_iter(&json) {
assert!(ret.is_ok());
let (k, v) = ret.unwrap();
if k == "a" {
assert!(v.is_null());
} else if k == "b" {
assert_eq!(v.as_raw_str(), "[1, 2, 3]");
}
}

// the JSON is invalid, will report error when encountering the error
for (i, ret) in to_object_iter(r#"{"a": null, "b":[1, 2, 3"#).enumerate() {
if i == 0 {
assert!(ret.is_ok());
}
if i == 1 {
assert!(ret.is_err());
}
}
```
src/lazyvalue/iterator.rs