Skip to content

Instantly share code, notes, and snippets.

@kuc-arc-f
Created September 11, 2020 08:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kuc-arc-f/f108b6253ca30baf57ff9a2767517888 to your computer and use it in GitHub Desktop.
Save kuc-arc-f/f108b6253ca30baf57ff9a2767517888 to your computer and use it in GitHub Desktop.
Rust serde_json で、serialized 、デコード(deserialized) ,vect適用する例
//
// Rust serde_json で、serialized 、デコード(deserialized) ,vect適用する例
// 参考:
// https://serde.rs/derive.html
//
use serde::{Deserialize, Serialize};
use serde_json::{Result, Value};
fn type_of<T>(_: T) -> &'static str {
std::any::type_name::<T>()
}
#[derive(Serialize, Deserialize, Debug)]
struct Point {
x: i32,
y: i32,
}
//
fn main() {
println!("Hello, world!");
let p1 = Point { x: 1, y: 2 };
let p2 = Point { x: 11, y: 12 };
let mut vect = vec![];
vect.push(p1 );
vect.push(p2 );
let serialized = serde_json::to_string(&vect).unwrap();
println!("serialized = {:?}", serialized);
let deserialized: Vec<Point> = serde_json::from_str(&serialized).unwrap();
println!("deserialized = {:?}", deserialized);
for row in &deserialized {
println!("{:?}", row );
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment