pub trait JsonScanner {
// Required methods
fn scan(&self, input: &[u8]) -> Result<ScanResult>;
fn supports_simd(&self) -> bool;
fn parse_numeric_array(
&self,
input: &[u8],
dtype: NumericDType,
length: Option<usize>,
) -> Result<JsonValue<'_>>;
fn find_strings(&self, input: &[u8]) -> Result<Vec<StringLocation>>;
fn find_structural_chars(&self, input: &[u8]) -> Result<Vec<usize>>;
}
Expand description
Main scanning interface implemented by SIMD and scalar scanners
Required Methods§
Sourcefn scan(&self, input: &[u8]) -> Result<ScanResult>
fn scan(&self, input: &[u8]) -> Result<ScanResult>
Scan JSON input and return structural information
Sourcefn supports_simd(&self) -> bool
fn supports_simd(&self) -> bool
Check if this scanner supports SIMD operations
Sourcefn parse_numeric_array(
&self,
input: &[u8],
dtype: NumericDType,
length: Option<usize>,
) -> Result<JsonValue<'_>>
fn parse_numeric_array( &self, input: &[u8], dtype: NumericDType, length: Option<usize>, ) -> Result<JsonValue<'_>>
Parse numeric array with SIMD optimization if available
Sourcefn find_strings(&self, input: &[u8]) -> Result<Vec<StringLocation>>
fn find_strings(&self, input: &[u8]) -> Result<Vec<StringLocation>>
Find all string boundaries in the input