Guest User

Untitled

a guest
Oct 22nd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. extern crate serde; // 1.0.78
  2. #[macro_use] extern crate serde_derive; // 1.0.78;
  3. #[macro_use] extern crate serde_json; // 1.0.27
  4.  
  5. #[derive(Debug, Deserialize)]
  6. #[serde(untagged)]
  7. enum EditDate {
  8. Bool(bool),
  9. Time(i64),
  10. }
  11.  
  12. #[derive(Debug, Deserialize)]
  13. struct Data {
  14. date: EditDate,
  15. }
  16.  
  17. fn main() -> Result<(), Box<std::error::Error>> {
  18. let raw_data = json!([
  19. {
  20. "date": 234
  21. },
  22. {
  23. "date": false
  24. }
  25. ]).to_string();
  26.  
  27. println!("JSON string: \'{}\'", raw_data);
  28.  
  29. let data: Vec<Data> = serde_json::from_str(&raw_data)?;
  30.  
  31. println!("Parsed as: {:#?}", data);
  32.  
  33. Ok(())
  34. }
Add Comment
Please, Sign In to add comment