Expand description
Serialization: Lemma values ↔ JSON.
Input (deserialization): JSON → string fact values for evaluation.
from_jsonparses JSON and converts each value to a string forExecutionPlan::with_values().- null values are skipped (treated as “fact not provided”).
Output (serialization): Lemma evaluation results → JSON.
literal_value_to_jsonconverts aLiteralValueto(serde_json::Value, Option<unit>)for use in API/CLI responses.
§Example (input)
ⓘ
use lemma::serialization::from_json;
let json = br#"{"discount": 21, "config": {"key": "value"}, "name": null}"#;
let values = from_json(json)?;
let plan = execution_plan.with_values(values, &limits)?;§Example (output)
ⓘ
use lemma::serialization::literal_value_to_json;
let (json_value, unit) = literal_value_to_json(&literal_value);Functions§
- deserialize_
fact_ path_ set - Deserializes array of FactPath structures to HashSet
. - deserialize_
resolved_ fact_ value_ map - Deserializes from array of [FactPath, FactData] tuples, preserving order.
- from_
json - Parse JSON to string values for use with ExecutionPlan::with_values().
- literal_
value_ to_ json - Convert a Lemma literal value to a JSON value and optional unit string.
- serialize_
fact_ path_ set - Serializes HashSet
as array of FactPath structures. - serialize_
resolved_ fact_ value_ map - Serializes IndexMap<FactPath, FactData> as array of [FactPath, FactData] tuples.