vos_core/schema/objects/
json.rs1use std::str::FromStr;
2
3use crate::{Dict, Json, List, Object};
4use crate::Number;
5
6impl From<&Json> for Object {
7 fn from(json: &Json) -> Self {
8 Object::from(json.clone())
9 }
10}
11
12impl From<Json> for Object {
13 fn from(json: Json) -> Self {
14 match json {
15 Json::Null => Object::Default,
16 Json::Bool(v) => Object::Boolean(v),
17 Json::Number(o) => Object::Number(Number::from_str(&o.to_string()).unwrap_or_default()),
18 Json::String(o) => Object::text(o, ""),
19 Json::Array(o) => Object::List(List::from_iter(o)),
20 Json::Object(o) => Object::Dict(Dict::from_iter(o)),
21 }
22 }
23}