pub fn pop(&mut self) -> Option<&u8> {
        if self.body.len() <= self.start_index {
            None
        } else {
            let target = &self.body[self.start_index];
            self.start_index += 1;

            if symbol::is_blank(&target) || symbol::is_next(&target) {
                // Ignore spaces and line breaks.
                self.pop()
            } else {
                // Buffers a string or number string.
                if self.is_text {
                    self.push_text(&target);
                    self.pop()
                } else if symbol::is_double_quotation(&target) {
                    self.exist_text = true;

                    // If enclosed in double quotes, it is a string.
                    self.is_text = !self.is_text;
                    self.pop()
                } else if symbol::is_number(&target) {
                    self.exist_text = true;

                    // number.
                    // Note: Numbers in double quotes are not counted.
                    self.push_text(&target);
                    self.pop()
                } else {
                    if self.exist_text {
                        self.exist_text = false;
                    }

                    Some(target)
                }
            }
        }
    }
/// Get json data character by byte from the beginning.
///
/// If there are letters or numbers enclosed in double quotation marks, store them in text_buffer.
/// Check exist_text for how to check the buffer.
/// Call get_text() to get this.
Get json data character by byte from the beginning.
If there are letters or numbers enclosed in double quotation marks, store them in text_buffer.
Check exist_text for how to check the buffer.
Call get_text() to get this.
Get json data character by byte from the beginning . If there are letters or numbers enclosed in double quotation marks store them in text_buffer . Check exist_text for how to check the buffer . Call get_text () to get this .
pub fn pop(&mut self) -> Option<&u8> {
        if self.body.len() <= self.start_index {
            None
        } else {
            let target = &self.body[self.start_index];
            self.start_index += 1;
            if symbol::is_blank(&target) || symbol::is_next(&target) {
                // Ignore spaces and line breaks.
                self.pop()
            } else {
                // Buffers a string or number string.
                if self.is_text {
                    self.push_text(&target);
                    self.pop()
                } else if symbol::is_double_quotation(&target) {
                    self.exist_text = true;
                    // If enclosed in double quotes, it is a string.
                    self.is_text = !self.is_text;
                    self.pop()
                } else if symbol::is_number(&target) {
                    self.exist_text = true;
                    // number.
                    // Note: Numbers in double quotes are not counted.
                    self.push_text(&target);
                    self.pop()
                } else {
                    if self.exist_text {
                        self.exist_text = false;
                    }
                    Some(target)
                }
            }
        }
    }
pub fn pop ( & mut self ) -> Option < & u8 > { if self . body . len ( ) <= self . start_index { None } else { let target = & self . body [ self . start_index ] ; self . start_index += 1 ; if symbol :: is_blank ( & target ) || symbol :: is_next ( & target ) { // Ignore spaces and line breaks. self . pop ( ) } else { // Buffers a string or number string. if self . is_text { self . push_text ( & target ) ; self . pop ( ) } else if symbol :: is_double_quotation ( & target ) { self . exist_text = true ; // If enclosed in double quotes, it is a string. self . is_text = ! self . is_text ; self . pop ( ) } else if symbol :: is_number ( & target ) { self . exist_text = true ; // number. // Note: Numbers in double quotes are not counted. self . push_text ( & target ) ; self . pop ( ) } else { if self . exist_text { self . exist_text = false ; } Some ( target ) } } } }
Get json data character by byte from the beginning.
Get json data character by byte from the beginning .
&mut self
&mut self