diff --git a/src/value/mod.rs b/src/value/mod.rs index d9fb0c8..6b92779 100644 --- a/src/value/mod.rs +++ b/src/value/mod.rs @@ -1,6 +1,6 @@ use std::ops::{Index, IndexMut, Deref}; use std::convert::TryInto; -use std::{fmt, mem, usize, u8, u16, u32, u64, isize, i8, i16, i32, i64, f32}; +use std::{fmt, mem, usize, u8, u16, u32, u64, isize, i8, i16, i32, i64, f32, u128}; use std::io::{self, Write}; use crate::{Result, Error}; @@ -233,6 +233,12 @@ impl JsonValue { value.try_into().ok() }) } + + pub fn as_u128(&self) -> Option { + self.as_number().and_then(|value| { + value.try_into().ok() + }) + } pub fn as_u32(&self) -> Option { self.as_u64().and_then(|value| number_to_unsigned!(u32, value, u64))