pub trait FromJSON {
// Required methods
fn parse_json_to_properties(
&self,
json_string: String,
) -> Result<Vec<(JSONProperty, JSONValue)>, String>;
fn set_properties(
&mut self,
properties: Vec<(JSONProperty, JSONValue)>,
) -> Result<(), String>;
fn parse(&mut self, json_string: String) -> Result<(), String>;
}