MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / value_to_json

Function value_to_json

crates/openshell-core/src/proto_struct.rs:28–42  ·  view source on GitHub ↗
(value: &prost_types::Value)

Source from the content-addressed store, hash-verified

26/// Convert a protobuf Value into a JSON value for typed serde decoding.
27#[must_use]
28pub fn value_to_json(value: &prost_types::Value) -> serde_json::Value {
29 match value.kind.as_ref() {
30 Some(prost_types::value::Kind::NumberValue(num)) => serde_json::Number::from_f64(*num)
31 .map_or(serde_json::Value::Null, serde_json::Value::Number),
32 Some(prost_types::value::Kind::StringValue(val)) => serde_json::Value::String(val.clone()),
33 Some(prost_types::value::Kind::BoolValue(val)) => serde_json::Value::Bool(*val),
34 Some(prost_types::value::Kind::StructValue(val)) => {
35 serde_json::Value::Object(struct_to_json_object(val))
36 }
37 Some(prost_types::value::Kind::ListValue(list)) => {
38 serde_json::Value::Array(list.values.iter().map(value_to_json).collect())
39 }
40 Some(prost_types::value::Kind::NullValue(_)) | None => serde_json::Value::Null,
41 }
42}
43
44/// Deserialize a present field as a non-empty list of non-empty strings.
45///

Callers 2

struct_to_json_objectFunction · 0.85
platform_config_structFunction · 0.85

Calls 1

struct_to_json_objectFunction · 0.85

Tested by

no test coverage detected