Into
是单一方法into
的特征。Into
为实现的每种类型实现From
:
impl<T, U> Into<U> for T
where
U: From<T>,
serde_json::Value
实现了许多不同版本的From
impl From<i8> for Value
impl From<i16> for Value
impl From<i32> for Value
impl From<i64> for Value
impl From<isize> for Value
impl From<u8> for Value
impl From<u16> for Value
impl From<u32> for Value
impl From<u64> for Value
impl From<usize> for Value
impl From<f32> for Value
impl From<f64> for Value
impl From<bool> for Value
impl From<String> for Value
impl<'a> From<&'a str> for Value
impl<'a> From<Cow<'a, str>> for Value
impl From<Map<String, Value>> for Value
impl<T: Into<Value>> From<Vec<T>> for Value
impl<'a, T: Clone + Into<Value>> From<&'a [T]> for Value
这两个特征用于提供不会失败的类型之间的转换。从 Rust 1.34 开始,特征TryFrom
和TryInto
允许错误转换。
也可以看看:
精明的读者会注意到,我上面展示的内容实际上允许您转换为serde_json::Value
. RpcObject
从技术上讲,原始代码从a转换为a Value
。在您的代码中某处有impl From<serde_json::Value> for RpcObject
,但由于未提供该实现,因此我无法链接到任何有用的文档,但模式是相同的。