@@ 11,4 11,4 @@ reqwest= { version = "0.10.0-alpha.2", features = ["blocking"] }
kuchiki= "*"
regex = { version = "1.4.2" }
serde = { version = "1.0", features = ["derive"] }
-serde_json = { version = "1.0" }
+serde_json = { version = "1.0" }<
\ No newline at end of file
@@ 1,7 1,5 @@
use std::error::Error;
-extern crate kuchiki;
-
use kuchiki::traits::*;
use regex::Regex;
@@ 11,9 9,11 @@ use serde::{Deserialize, Serialize};
struct Person {
name: String,
dob: i32,
- dod: Option<String>,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ dod: Option<i32>,
img: String,
start: String,
+ #[serde(skip_serializing_if = "Option::is_none")]
end: Option<String>,
}
@@ 70,7 70,8 @@ fn main() -> std::result::Result<(), Box<dyn Error>> {
let caps = dod_pattern.captures(&text);
let dod = if let Some(x) = caps {
- Some(x.get(1).unwrap().as_str().to_string())
+ let dod_str = x.get(1).unwrap().as_str();
+ Some(dod_str.parse::<i32>().unwrap())
} else {
None
};
@@ 99,7 100,6 @@ fn main() -> std::result::Result<(), Box<dyn Error>> {
let j = serde_json::to_string(&presidents)?;
- // Print, write to a file, or send to an HTTP server.
println!("{}", j);
Ok(())