impl Metadata {
pub fn serialize(&self) -> String {
- format!(r#"{{\n "id": "{}",\n "created_on": {}\n}}"#, self.id, self.created_on)
+ format!(r#"{{
+ "id": "{}",
+ "created_on": {}
+}}"#, self.id, self.created_on)
}
pub fn deserialize(input: &str) -> Option<Metadata> {
.collect::<String>();
let id = Metadata::read_field(&clean_input, "id")?;
- let created_on = Metadata::read_field(&clean_input, "createdOn")
- .or_else(|| Metadata::read_field(&clean_input, "created_on"))?;
+ let created_on = Metadata::read_field(&clean_input, "created_on")
+ // createdOn kept for compatibility with blog < 7.0.0
+ .or_else(|| Metadata::read_field(&clean_input, "createdOn"))?;
Some(Metadata {
id,
fn read_field(input: &str, field_name: &str) -> Option<String> {
- let key_pattern = format!(r#""{}":""#, field_name);
+ let key_pattern = format!(r#""{}":"#, field_name);
input.find(&key_pattern)
.and_then(|start| {
let value_start = start + key_pattern.len();