Expand description
Serialization module for converting external data formats to string values.
These functions convert data from external formats (JSON, MsgPack, Protobuf)
into string values ready for use with ExecutionPlan::with_values().
- null values are skipped (treated as “fact not provided”)
- JSON numbers, booleans, arrays, objects are converted to their string representation
§Example
ⓘ
use lemma::serialization::from_json;
let json = br#"{"discount": 21, "config": {"key": "value"}, "name": null}"#;
let values = from_json(json, &execution_plan)?;
// discount -> "21"
// config -> "{\"key\":\"value\"}"
// name -> skipped (null)
let plan = execution_plan.with_values(values, &limits)?;Functions§
- deserialize_
fact_ doc_ ref_ map - Custom deserializer for HashMap<FactPath, String> (document references)
- deserialize_
fact_ path_ map - Custom deserializer for HashMap<FactPath, LemmaFact>
- deserialize_
fact_ path_ set - Custom deserializer for HashSet
- deserialize_
fact_ source_ map - Custom deserializer for HashMap<FactPath, Source> (fact sources)
- deserialize_
fact_ type_ map - Custom deserializer for HashMap<FactPath, LemmaType>
- deserialize_
fact_ value_ map - Custom deserializer for HashMap<FactPath, LiteralValue>
- from_
json - Parse JSON to string values for use with ExecutionPlan::with_values().
- from_
msgpack - Convert MsgPack values to string values for use with ExecutionPlan::with_values().
- from_
protobuf - Convert Protobuf values to string values for use with ExecutionPlan::with_values().
- serialize_
fact_ doc_ ref_ map - Custom serializer for HashMap<FactPath, String> (document references)
- serialize_
fact_ path_ map - Custom serializer for HashMap<FactPath, LemmaFact>
- serialize_
fact_ path_ set - Custom serializer for HashSet
- serialize_
fact_ source_ map - Custom serializer for HashMap<FactPath, Source> (fact sources)
- serialize_
fact_ type_ map - Custom serializer for HashMap<FactPath, LemmaType>
- serialize_
fact_ value_ map - Custom serializer for HashMap<FactPath, LiteralValue>